gpt4 book ai didi

android - 如何从后台弹出 fragment

转载 作者:IT老高 更新时间:2023-10-28 13:19:01 26 4
gpt4 key购买 nike

我有一个 Activity A,它调用 fragment Bf,它调用 fragment Cf。我希望在调用 Cf 时将 Bf 放在后台堆栈中,以便用户可以导航回它。但是,如果在 Cf 中按下特定按钮,我希望将 Bf 从后台堆栈中删除。这可能吗?

我看到有一个 popBackStack() 函数。但是,我对这将如何工作感到有些困惑。使用此功能是否安全?是否有可能在后台堆栈的 Bf 之后插入来自不同应用程序的 Activity ?

另外,有什么方法可以改变 backstack 上 fragment 的 savedInstanceState 吗?

我只是不知道如何使用模拟器对 backstack 进行健壮的测试。

最佳答案

您可以按名称弹出 fragment 。在将 fragment 添加到后台堆栈时,只需给它们命名即可。

fragmentTransaction.addToBackStack("fragB");
fragmentTransaction.addToBackStack("fragC");

然后在 Fragment_C 中,使用名称 ie.. fragB 弹出回栈并包含 POP_BACK_STACK_INCLUSIVE

someButtonInC.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {

FragmentManager fm = getActivity()
.getSupportFragmentManager();
fm.popBackStack ("fragB", FragmentManager.POP_BACK_STACK_INCLUSIVE);
}
});

关于android - 如何从后台弹出 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14971780/

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