【发布时间】:2020-03-01 13:54:52
【问题描述】:
我已经在XML中定义了代码,用于FrameLayout中的导航主机,以便动态创建导航主机。
<FrameLayout
android:id="@+id/main_nav_host_fragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="?attr/actionBarSize" />
当尝试使用 MainActivity 中的findNavController 访问它时...
val navController = findNavController(R.id.main_nav_host_fragment)
findViewById<BottomNavigationView>(R.id.bottom_navigation_view)
.setupWithNavController(navController)
navController.addOnDestinationChangedListener { _, destination, _ ->
if(destination.id == R.id.signupFragment) {
bottomNavigationView.visibility = View.GONE
} else {
bottomNavigationView.visibility = View.VISIBLE
}
}
我收到错误:Caused by: java.lang.IllegalStateException: Activity com.example.client.ui.main.MainActivity@516bd45 does not have a NavController set on 2131296657
【问题讨论】:
标签: android navigation android-architecture-navigation android-jetpack-navigation