警告:只能从同一库组内调用NavController.setNavigatorProvider(groupId=androidx.navigation)
我创建了一个新项目,在设置底部选项卡导航时遇到此警告 梯度信息警告:只能从同一库组内调用NavController.setNavigatorProvider(groupId=androidx.navigation),android,kotlin,Android,Kotlin,我创建了一个新项目,在设置底部选项卡导航时遇到此警告 梯度信息 AndroidStudio:4.1.2 编译版本:29 导航依赖项: 实现“androidx.navigation:navigation fragment ktx:2.3.1” 实现“androidx.navigation:NavigationUIKTX:2.3.1” 我的代码: private fun setupBottomNavigationBar() { val navController = findNav
- AndroidStudio:4.1.2
- 编译版本:29
- 导航依赖项:
- 实现“androidx.navigation:navigation fragment ktx:2.3.1”
- 实现“androidx.navigation:NavigationUIKTX:2.3.1”
private fun setupBottomNavigationBar() {
val navController = findNavController(R.id.nav_host_fragment)
supportFragmentManager.findFragmentById(R.id.nav_host_fragment)?.let {
val navigator = KeepStateNavigator(
this,
it.childFragmentManager,
R.id.nav_host_fragment
)
// This line gives me warning
navController.navigatorProvider += navigator
}
}
// Solution 1
@SuppressLint("RestrictedApi")
private fun setupBottomNavigationBar() {
// Solution 2
// noinspection RestrictedApi
navController.navigatorProvider += navigator
尝试过的解决方案:
private fun setupBottomNavigationBar() {
val navController = findNavController(R.id.nav_host_fragment)
supportFragmentManager.findFragmentById(R.id.nav_host_fragment)?.let {
val navigator = KeepStateNavigator(
this,
it.childFragmentManager,
R.id.nav_host_fragment
)
// This line gives me warning
navController.navigatorProvider += navigator
}
}
// Solution 1
@SuppressLint("RestrictedApi")
private fun setupBottomNavigationBar() {
// Solution 2
// noinspection RestrictedApi
navController.navigatorProvider += navigator
这两种方法都有效,但我仍然不知道为什么会出现这个错误。还有什么我应该知道的,可能在将来造成问题的吗
任何帮助都将提前感谢 您可以使用以下代码避免警告:
navController.navigatorProvider.addNavigator(navigator)