Как сделать заводской метод загрузки фрагментов в активности андроида? - PullRequest
0 голосов
/ 31 января 2019

Я хочу создать фабричный метод в классе Java, а затем вызвать этот метод в действии для загрузки нескольких фрагментов.

   @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;

        }
    }

1 Ответ

0 голосов
/ 31 января 2019

статический метод фабрики, вы можете просто держать все в фрагменте и не нужно выставлять.Тот, кто должен использовать этот фрагмент, будет иметь четкое представление о том, что ему нужно, а также не должен будет знать, что это за ключи.Достаточно просто отправить необходимые параметры.

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;
   }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...