Ни один из других вопросов, которые я прочитал в stackoverflow, не смог помочь с моей проблемой. Насколько я могу судить, я делаю все правильно.
У меня есть поток master/detail с фрагментами.
При создании основного действия основной фрагмент загружается следующим кодом:
Fragment frag;
frag = new MainListFragment();//<-- **the master fragment**
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
transaction.replace(R.id.fragment_container, frag);
Log.d("My Debug Bitches", "stack:" + fm.getBackStackEntryCount());
transaction.commit();
Главный фрагмент имеет ListView
; нажатие на элемент списка вызывает фрагмент детали следующим образом:
@Override
public void onListItemClick(ListView listView, View view, int position, long id) {
super.onListItemClick(listView, view, position, id);
FragmentManager fm = getFragmentManager();
FragmentTransaction transaction = fm.beginTransaction();
SubListFragment frag = new SubListFragment();//<-- **the detail fragment**
transaction.replace(R.id.fragment_container, frag);
transaction.addToBackStack(null);
transaction.commit();
fm.executePendingTransactions();
Log.d("My Debug Bitches", "stack:" + fm.getBackStackEntryCount());
}
Теперь, согласно LogCat, BackStackEntryCount
изменяется от 0 до 1 после перехода от основного фрагмента к фрагменту детали:
Так почему же, когда я нажимаю кнопку "Назад", находясь в фрагменте детали, приложение закрывается вместо возврата к главному фрагменту?