如何使工厂方法在活动android中加载片段?

如何使工厂方法在活动android中加载片段?,android,android-fragments,Android,Android Fragments,我想在java类中创建一个工厂方法,然后在activity中调用该方法来加载多个片段 @Override public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) { switch (menuItem.getItemId()) { case R.id.Men: { FirstFragment firstfragment = new FirstFragment();

我想在java类中创建一个工厂方法,然后在activity中调用该方法来加载多个片段

   @Override
public boolean onNavigationItemSelected(@NonNull MenuItem menuItem) {
    switch (menuItem.getItemId()) {

        case R.id.Men: {
            FirstFragment firstfragment = new FirstFragment();
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.replace(R.id.fragment_container, firstfragment);
            transaction.commit();

            break;
            case R.id.Men: {
            SecondFragment secondfragment = new SecondFragment();
            FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
            transaction.replace(R.id.fragment_container, secondfragment);
            transaction.commit();

            break;

        }
    }

静态工厂方法,您可以简单地将所有内容保留在片段中,而无需公开。任何需要使用这个片段的人都将清楚地知道它需要什么,也不需要知道密钥是什么。只需发送所需的参数就足够了

class FragmentFoo extends Fragment{
private static final String KEY_NAME = "name";
 private String name;


  public static Fragment newInstance(String name){
   Bundle bundle = new Bundle();
   bundle.putString(KEY_NAME, "name");
   Fragment fragment = new FragmentFoo();
   fragment.setArgs(bundle);

   return fragment;
   }
}

静态工厂方法,您可以简单地将所有内容保留在片段中,而无需公开。任何需要使用这个片段的人都将清楚地知道它需要什么,也不需要知道密钥是什么。只需发送所需的参数就足够了

class FragmentFoo extends Fragment{
private static final String KEY_NAME = "name";
 private String name;


  public static Fragment newInstance(String name){
   Bundle bundle = new Bundle();
   bundle.putString(KEY_NAME, "name");
   Fragment fragment = new FragmentFoo();
   fragment.setArgs(bundle);

   return fragment;
   }
}

我只想调用静态方法并像-loadFragment(newfirstfragment())一样传递目标片段;我只想调用静态方法并像-loadFragment(newfirstfragment())一样传递目标片段;