Androidで別のフラグメントに移動した後にナビゲーションスタックをクリアする方法
Androidで新しいナビゲーションアーキテクチャコンポーネントを使用していますが、新しいフラグメントに移動した後、ナビゲーションスタックをクリアできません。 例:loginFragmentにいて、ホームフラグメントに移動したときにこのフラグメントをスタックからクリアして、ユーザーが[戻る]ボタンを押したときに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()); } } }); 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);