警告:NavController.setNavigatorProvider只能从同一个库组中调用(groupId=androidx.navigation)

我创建了一个新项目并在设置底部选项卡导航时遇到了这个警告。

摇篮信息

  • 安卓工作室:4.1.2
  • 编译SDK版本:29
  • 导航依赖:
    • 实现“androidx.navigation:navigation-fragment-ktx:2.3.1”
    • 实现“androidx.navigation:navigation-ui-ktx: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

两者都有效,但我仍然不知道为什么会出现此错误。还有什么我应该知道的事情可能会在未来造成问题吗?

提前感谢任何帮助!

回答

您可以使用以下代码避免警告:

navController.navigatorProvider.addNavigator(navigator)


以上是警告:NavController.setNavigatorProvider只能从同一个库组中调用(groupId=androidx.navigation)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>