Android在Java获取组件,使用android导航组件获取Backstack状态

我想实现反向行为,这样当你向后按下Backstack为空时它会提示确认弹出窗口,否则它会弹出堆栈中的下一个片段 .

我正在尝试获得后台筹码,但我总是从两个片段管理器得到0

getSupportFragmentManager().getBackStackEntryCount();

getFragmentManager().getBackStackEntryCount();

我想它应该工作,因为我检查片段导航器的谷歌代码,它通过规范片段事务添加到backstack:

FragmentNavigator.java:

if (initialNavigation || isClearTask) {

backStackEffect = BACK_STACK_DESTINATION_ADDED;

} else if (isSingleTopReplacement) {

// Single Top means we only want one instance on the back stack

if (mBackStack.size() > 1) {

// If the Fragment to be replaced is on the FragmentManager's

// back stack, a simple replace() isn't enough so we

// remove it from the back stack and put our replacement

// on the back stack in its place

mFragmentManager.popBackStack();

ft.addToBackStack(Integer.toString(destId));

mIsPendingBackStackOperation = true;

}

backStackEffect = BACK_STACK_UNCHANGED;

} else {

ft.addToBackStack(Integer.toString(destId));

mIsPendingBackStackOperation = true;

backStackEffect = BACK_STACK_DESTINATION_ADDED;

}

ft.setReorderingAllowed(true);

ft.commit();

我没有找到任何API来通过NavController或Navigator检索此信息 .

谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值