导航到Android中的另一个片段后如何清除导航堆栈
我在android中使用新的Navigation Architecture组件,并且在移至新片段后仍无法清除导航堆栈。 示例:我在loginFragment中,并且当我导航到home片段时,我希望从堆栈中清除此片段,以便用户在按“后退”按钮时不会返回到loginFragment。 我正在使用一个简单的NavHostFragment.findNavController(Fragment).navigate(R.id.homeFragment)进行导航。 当前代码: mAuth.signInWithCredential(credential) .addOnCompleteListener(getActivity(), new OnCompleteListener<AuthResult>() { @Override public void onComplete(@NonNull Task<AuthResult> task) { if (task.isSuccessful()) { NavHostFragment.findNavController(LoginFragment.this).navigate(R.id.homeFragment); } else { Log.w(TAG, "signInWithCredential:failure", task.getException()); } } }); 我尝试使用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);