I am using The new Navigation Architecture Component in android and I am stuck in clearing the navigation stack after moving to a new fragment.
Example: I am in the loginFragment and I want this fragment to be cleared from the stack when I navigate to the home fragment so that the user will not be returned back to the loginFragment when he presses the back button.
I am using a simple NavHostFragment.findNavController(Fragment).navigate(R.id.homeFragment) to navigate.
Current Code :
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()); } } }); I tried using the NavOptions in the navigate(), but the back button is still sending me back to the 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); 

popBackStackor don't addLoginFragmentto backstack providenulltoaddToBackStack(null);and replace it with newFragmentnavigate()method likenavigate(int resId, Bundle args, NavOptions navOptions)and provide theNavOptionsthat best fit your senario