NAVIGATION_MODE_TABS
的操作栏。每个选项卡的内容都是一个列表片段。我想让当列表项被点击时,一个新的片段被带到视图中,并且操作栏模式被改为
NAVIGATION_MODE_STANDARD
(这样选项卡现在就会隐藏)。我已经使用以下代码成功实现了此目标:
在列表项单击方法中:
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);
问题在于当我按下返回按钮时,选项卡仍然消失,之前的片段也没有恢复到视图中。
我做错了什么吗..这与片段回退栈有关吗?我应该采取其他方法,甚至重写backpress吗?
--编辑--
为了清晰起见 - 当我调用fragmenttransaction.replace时,我调用addToBackStack,但是当我按下返回按钮时,之前的片段没有被恢复。
ft.addToBackStack("fragment_tag");
而不是ft.addToBackStack(null);
吗? - pRaNaY