TabLayout ViewPager очистить фрагмент

#android #android-fragments

#Android #android-фрагменты

Вопрос:

У меня есть TabLayout с собой ViewPager . В ViewPager нем есть два элемента вкладки A и B.

Когда я нажимаю вкладку A, она показывает мне правильный вид, то же самое для вкладки B. Теперь на вкладке A я отображаю несколько Fragment A1 (по умолчанию) -> A2-> A3. Когда я нажимаю вкладку B, а затем возвращаюсь на вкладку A, я все еще вижу A3. Как я могу переходить к Fragment A1 каждый раз, когда нажимаю вкладку A? Я не уверен, куда добавить эту логику ( ViewPager или на TabLayout.ViewPagerOnTabSelectedListener ) и по умолчанию для A1 Fragment .

Есть идеи?

Ответ №1:

Из A1> A2> A3 таким образом я заменяю фрагменты.

просто вызовите фрагмент замены с тем же контейнером всех трех фрагментов.

 public void replaceFragment(Fragment fragment, int container, String tag) {
    mFragmentManager = getFragmentManager();
    mFragmentTransaction = mFragmentManager.beginTransaction();
    mFragmentTransaction.replace(containerId, fragment, tag);
    mFragmentTransaction.addToBackStack(tag);
    mFragmentTransaction.commit();
}
  

И для возврата нажмите кнопку :
удалите фрагмент таким образом

 public void removeFragment() {
    mFragmentManager = getFragmentManager();
    mFragmentManager.popBackStack();
}
  

Здесь всякий раз, когда вы переходите на вкладку B и возвращаетесь к A, состояние фрагмента A3 уничтожается, надеюсь, это поможет.