gpt4 book ai didi

android - 使用导航模式隐藏 actionBar 选项卡会对 fragment 后台堆栈产生不利影响

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:22:21 24 4
gpt4 key购买 nike

我有一个带有操作栏和操作栏选项卡的 Activity 。当我从选项卡的内容中选择一个项目时,我试图用一个新 fragment 替换当前 fragment ,将事务添加到返回堆栈,并隐藏选项卡。

我通过将操作栏导航模式更改为标准来隐藏选项卡。

问题是,当我按下后退按钮时,我只看到带有操作栏的空白 View (在标准模式下)。 fragment 事务似乎没有被撤销。

如果我不通过将导航模式更改为标准来隐藏选项卡,交易撤销工作正常..

我已经尝试覆盖返回键以将导航模式更改回选项卡,但它不起作用。

有人能告诉我他们将如何实现这一目标吗?

这是隐藏选项卡并发生 fragment 事务的代码:

        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();

为清楚起见:我希望在提交此事务后按回键,选项卡将与前一个 fragment 一起回到 View 中。在按下后的那一刻,它没有显示标签或 fragment 。

最佳答案

不确定这个问题是否仍然相关,但我似乎很幸运在 fragment 转换后隐藏了选项卡。

在我的 ListFragment 中,我执行了一个标准的 fragment 转换,这与您在代码中的操作非常相似。

但是,在我的详细信息 fragment 中,我将操作栏隐藏在 onCreate 方法中:

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
ActionBar actionBar = getActivity().getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_STANDARD);

}

并在我的 onPause 方法中再次显示它:

public void onPause() {

super.onPause();

ActionBar actionBar = getActivity().getActionBar();
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

}

关于android - 使用导航模式隐藏 actionBar 选项卡会对 fragment 后台堆栈产生不利影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11813740/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com