如何使工厂方法在活动android中加载片段?
我想在java类中创建一个工厂方法,然后在activity中调用该方法来加载多个片段如何使工厂方法在活动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();
@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())一样传递目标片段;