2016-09-30 3 views
0

У меня есть TabLayout с ViewPager. ViewPager имеет две вкладки A и B.TabLayout ViewPager Очистить фрагмент

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

Любые идеи?

ответ

0

От 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 разрушается, надеюсь, что это помогает.