В моей основной деятельности у меня есть панель действий с NAVIGATION_MODE_TABS
. Содержимое каждой вкладки представляет собой фрагмент списка.
Я хотел бы сделать так, чтобы при щелчке элемента списка отображался новый фрагмент, а режим панели действий менялся наNAVIGATION_MODE_STANDARD
(так что вкладки теперь скрыты ).
Мне удалось заставить это работать со следующим кодом:
В методе listitemclick:
ActionBar actionBar = getActivity().getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
Fragment albumListFragment = new AlbumListFragment();
albumListFragment.setArguments(bundle);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(android.R.id.content, albumListFragment);
ft.addToBackStack(null);
// Commit the transaction
ft.commit();
Log.i("FragmentList", "Item clicked: " + id);
Проблема в том, что когда я нажимаю кнопку «Назад», вкладки по-прежнему исчезают, а предыдущий фрагмент не возвращается в поле зрения.
Я делаю что-то не так.. Это как-то связано с бэкстеком фрагментов? Должен ли я сделать это по-другому, или даже отменить обратное нажатие?
--Изменить--
Для ясности -я вызываю addToBackStack при вызове fragmenttransaction.replace, но когда я нажимаю кнопку «Назад», предыдущий фрагмент не восстанавливается.