Issue
I'm struggle building a Navigation, like on the image below, with the Android Navigation Component.
I need a "Login Flow", check if the user is logged in and then navigate to the main part of the app (also clearing the backstack). The main part contains a BottomNavigationView with three tabs. But if I click on a settings icon on the toolbar, I also want to display a fullscreen SettingsFragment.
Did I need two NavHostFragments with separate navigation graphs? If yes, how can I combine them and also have a proper backNavigation?
Any ideas how realize a navigation like this with the android navigation components?
Solution
First of all you can check Conditional Navigation
Second of all, you can do it with only one nav_graph. But you need only one Activity for this. After that, you can check in it like this:
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.mainFragment){
if(userIsLoggedIn()){
//start LoginFragment
//hide bottom navigation
}else{
//show bottom navigation
}
}
}
But your starter fragment should be MainFragment and not LoginFragment
Answered By - coroutineDispatcher

0 comments:
Post a Comment
Note: Only a member of this blog may post a comment.