gpt4 book ai didi

Android - addToBackStack() 不起作用?

转载 作者:可可西里 更新时间:2023-11-01 19:08:38 27 4
gpt4 key购买 nike

这是负责将 fragment 添加到后台堆栈的函数:

public void populateContent(File f)
{

ContentFragment cf = new ContentFragment(ctx, ac, this);
FragmentTransaction transaction = ac.getSupportFragmentManager().beginTransaction();;
cf.updateView(f);

transaction.replace(R.id.contentFragment, cf);

transaction.addToBackStack(null);

transaction.commit();

}

当我点击后退按钮时,最后一个 fragment 没有加载(没有任何反应)。

知道是什么原因造成的吗?

编辑:FragmentManager 日志。

http://pastebin.com/mYnVdkLG

在我看来,好像我的应用程序将第二个 View 保存了两次,而不是先保存第一个 View ,然后再保存第二个 View 。

最佳答案

似乎在 fragment 事务上调用 addToBackStack() 是不够的,我们必须处理自己按下后退按钮时后退堆栈的弹出。我将此添加到我的 Activity 中,它按预期工作:

@Override
public void onBackPressed() {
if (getFragmentManager().getBackStackEntryCount() > 0 ){
getFragmentManager().popBackStack();
} else {
super.onBackPressed();
}
}

关于Android - addToBackStack() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14805478/

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