gpt4 book ai didi

android - 删除返回堆栈中的多个 fragment

转载 作者:行者123 更新时间:2023-11-30 00:40:56 24 4
gpt4 key购买 nike

假设我们在返回堆栈的一个 Activity 中托管了三个 fragment

A->B->C

当我点击后退时按下 fragment C 我也想立即从后退堆栈中删除 B。请注意,在某些情况下我可能想回到 B 但在大多数情况下我想一起清除 C 和 B到达 A。如果我调用 popBackStack() 两次,或者我应该有某种委托(delegate)机制来通知 B C 已经关闭并且我们不希望显示 B 所以请清理。

最佳答案

在 fragment A 中执行此操作..

getSupportFragmentManager().beginTransaction()
.add(R.id.containerMain, new FragmentA()).addToBackStack("BACKSTACK_FRAGMENT_A")
.commit();

并且不要使用 addToBackStack(..)在这种情况下,当您从其他 fragment 返回时,您将始终返回到 fragment A。以及何时指定返回特定 fragment

将 fragment 添加到 BackStack。在 commit() 事务之前,使用 addToBackStack() 方法即

 addToBackStack("Some String").commit();

并在 onBackPressed() 中

@Override 
public void onBackPressed() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
getSupportFragmentManager().popBackStack();
} else {
this.finish();
}
}

关于android - 删除返回堆栈中的多个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589476/

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