gpt4 book ai didi

android - 为什么按下后退按钮时 addToBackStack 不起作用

转载 作者:行者123 更新时间:2023-11-30 02:33:36 25 4
gpt4 key购买 nike

我被它弄糊涂了。

我有一个 Activity A,Fragment F1 和 F2,当单击一个按钮时,我想隐藏 F1 并将 F2 添加到同一位置,然后可以通过后退按钮返回到 F1。所以我做了如下。

    FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.hide(getFragmentManager().findFragmentByTag(CHAT_LIST_FRAGMENT_TAG));
transaction.add(R.id.content_frame, MessageListFragment.newInstance(username, false));
transaction.addToBackStack(null);
transaction.commit();

但是当我按下后退按钮时, Activity 结束而不是返回到 F1。我尝试使用替换,结果是一样的。

是否唯一的解决方案是覆盖 onBackPress 方法?


更多

我尝试了如下代码。

    FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.repalce(R.id.content_frame, MessageListFragment.newInstance(username, false));
transaction.addToBackStack(null);
transaction.commit();

但没有任何改变。

最佳答案

尝试使用 replace() 而不是 hide() + add()。这里对应的是Android documentation .

FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.content_frame, MessageListFragment.newInstance(username, false));
transaction.addToBackStack(null);
transaction.commit();

关于android - 为什么按下后退按钮时 addToBackStack 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26955265/

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