findNavController丢失,无法正常工作

时间:2019-03-24 20:35:38

标签: android kotlin

我正在使用导航拱来执行此https://youtu.be/GOpeBbfyb6s?t=1405,但是我无法键入它。findNavController它显示为红色

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
    lgnbtn.setOnClickListener {
        val nameBundle = Bundle()
        nameBundle.putString("name",idfield.text.toString())
        it.findNavController().navigate(R.id.mainFragment, nameBundle)
    }
}

1 个答案:

答案 0 :(得分:2)

根据Declaring Navigation dependencies,必须使用依赖项的-ktx版本才能使用Kotlin扩展名,例如findNavController()的{​​{1}}扩展名。

因此,用View替换对navigation-fragment的任何依赖关系,并用navigation-fragment-ktx替换navigation-ui的所有依赖关系。