【发布时间】:2019-12-11 17:19:04
【问题描述】:
我有底部导航我也用FragmentContainerView 替换了<fragment> 标签它给了我关于它没有设置NavController 的错误,然后我发布了this 问题并解决了问题,但我更改方向并在底部导航中选择项目时出现以下错误
java.lang.IllegalStateException:您必须在调用 getGraph() 之前调用 setGraph()
片段容器
<androidx.fragment.app.FragmentContainerView
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:defaultNavHost="true"
app:navGraph="@navigation/mobile_navigation" /
寻找片段
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
val navController = navHostFragment.navController
// Passing each menu ID as a set of Ids because each
// menu should be considered as top level destinations.
val appBarConfiguration = AppBarConfiguration(
setOf(
R.id.navigation_classes, R.id.navigation_schedule, R.id.navigation_settings
)
)
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
【问题讨论】:
标签: android android-fragments bottomnavigationview orientation-changes