android 多个导航栈,如何在导航到Android中的另一个片段后清除导航堆栈

我正在使用

Android中的新

Navigation Architecture Component,并且在移动到新片段后我被困在清理导航堆栈中.

例:

我在loginFragment中,当我导航到主片段时,我希望从堆栈中清除这个片段,这样当用户按下后退按钮时,用户将不会返回到loginFragment.

现行代码:

mAuth.signInWithCredential(credential)

.addOnCompleteListener(getActivity(), new OnCompleteListener() {

@Override

public void onComplete(@NonNull Task task) {

if (task.isSuccessful()) {

NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment);

} else {

Log.w(TAG, "signInWithCredential:failure", task.getException());

}

}

});

我尝试在navigate()中使用NavOptions,但后退按钮仍然将我发送回loginFragment

NavOptions.Builder navBuilder = new NavOptions.Builder();

NavOptions navOptions = navBuilder.setPopUpTo(R.id.homeFragment, false).build();

NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment, null, navOptions);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值