Если вы используете две вкладки, вы должны поддерживать два фрагмента отдельно для каждой вкладки т.е. Fragmenta для tab1 и FragmentB для tab2 и xmls FragmentA, FragmentB должен иметь FrameLayout для FrgmentTransaction.
XML из Fragmenta т.е. frag_a.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentA_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
и
XML из FragmentB т.е. frag_b.xml:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fragmentB_container"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
Для Tab1, всегда делаем транзакции с использованием R.id.fragmentA_container. замените другой фрагмент из первого фрагмента (FragmentA) на первой вкладке. как ниже код
В Fragmenta:
Fragment fragment = new YourFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
getSupportFragmentManager().popBackStack();
fragment.setArguments(null);
ft.replace(R.id.fragmentA_container, fragment);
ft.commit();
Для TAB2, всегда делают транзакцию с помощью R.id.fragmentB_container. замените другой фрагмент из второго фрагмента (FragmentB) во второй вкладке. как ниже код
В FragmentB:
Fragment fragment = new YourFragment();
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
getSupportFragmentManager().popBackStack();
fragment.setArguments(null);
ft.replace(R.id.fragmentB_container, fragment);
ft.commit();
Вы используете ViewPager? –
Не сейчас. но я готов использовать его, если он полезен и может решить мою проблему. Пожалуйста, дайте мне намек на то же самое. –
Это один из моих вопросов, код может вам помочь. Я использую адаптер для управления фрагментами на вкладках + просмотрщик http://stackoverflow.com/questions/17815305/abs-viewpager-manage-orientation-change –