Я хочу создать стек из нескольких фрагментов, включенных в линейный макет.Чтобы поместить множество фрагментов в активность, я использую следующий код (R.id.content is LinearLayout):
private void pushToBackStack(final Fragment... fragments) {
final FragmentManager fm = getSupportFragmentManager();
final FragmentTransaction ft = fm.beginTransaction();
for (int i = 0; i < fragments.length; i++) {
if (i == 0) {
ft.replace(R.id.content, fragments[i]);
} else {
ft.add(R.id.content, fragments[i]);
}
}
ft.addToBackStack(null);
ft.commit();
}
, когда я звоню
pushToBackStack(f1, f2);
pushToBackStack(f3, f4);
pushToBackStack(f5, f6);
, есть f3, f5 и f6отображается на экране, и после нажатия кнопки Назад отображаются f2, f3, f4.
Ожидаемое поведение: f5, f6 -> Назад -> f3, f4 -> Назад -> f1, f2