Tim*_*eed 5 android android-fragments android-listfragment back-stack
我有一个带有操作栏和动作栏标签的活动.当我从选项卡的内容中选择一个项目时,我正在尝试用新的替换当前片段,将事务添加到后台堆栈,并隐藏选项卡.
我通过将操作栏导航模式更改为标准来隐藏选项卡.
问题是,当我按下后退按钮时,我只是使用操作栏获得一个空白视图(在标准模式下)..片段事务似乎没有被反转.
如果我不通过将导航模式更改为标准来隐藏选项卡,则事务反转工作正常.
我已经尝试覆盖背面按下以将导航模式更改回选项卡,但它不起作用.
有人能告诉我他们将如何实现这一目标吗?
以下是隐藏选项卡并执行片段事务的代码:
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();
Run Code Online (Sandbox Code Playgroud)
为清楚起见:我希望在提交此事务后回退,标签将返回到前一个片段的视图.在按下后,它没有显示标签或片段.
小智 8
不确定这个问题是否仍然相关,但在片段转换后我好像隐藏了标签.
从我的ListFragment中,我做了一个非常类似于你在代码中执行它的标准片段转换.
但是,在我的详细信息片段中,我隐藏了onCreate方法中的操作栏:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionBar = getActivity().getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);
}
Run Code Online (Sandbox Code Playgroud)
并在我的onPause方法中再次显示:
public void onPause() {
super.onPause();
ActionBar actionBar = getActivity().getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4902 次 |
| 最近记录: |