I have added the nav graph fragment to the main activity xml. When I try to use the navcontroller to navigate from a fragment to another in MainActivity.kt I get an error that says that the view does not have a NavController set at androidx.navigation.Navigation.findNavController. I will leave the code from MainActivity.kt below:
class MainActivity : AppCompatActivity() {
private lateinit var binding: ActivityMainBinding
private var navController: NavController? = null
private lateinit var mToolbar: androidx.appcompat.widget.Toolbar
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityMainBinding.inflate(layoutInflater)
val view = binding.root
setContentView(view)
navController = Navigation.findNavController(view)
mToolbar = findViewById(R.id.main_toolbar)
setSupportActionBar(mToolbar)
}
override fun onCreateOptionsMenu(menu: Menu): Boolean {
super.onCreateOptionsMenu(menu)
menuInflater.inflate(R.menu.main_menu, menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId){
R.id.settingsFragment -> navController!!.navigate(R.id.view_settings)
}
return true
}
}