如何摆脱 Android-Kotlin 中的“Unresolved reference: NavController”错误?
How to get rid of `Unresolved reference: NavController` error in Android-Kotlin?
除了 NavController
之外,我在 AppCompatActivity()
、layoutInflater
和下面提到的代码中遇到了同样的错误。
错误:Unresolved reference: NavController
等等...
我的代码:
package com.example.wordsapp
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.NavHost
import androidx.navigation.ui.setupActionBarWithNavController
import com.example.wordsapp.databinding.ActivityMainBinding
/**
* Main Activity and entry point for the app. Displays a RecyclerView of letters.
*/
class MainActivity : AppCompatActivity() {
private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHost
navController = navHostFragment.navController
setupActionBarWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp() || super.onSupportNavigateUp()
}
}
- 首先检查是否可以构建项目。
如果项目能建成,那么它可能是Kotlin/JVM mismatch
。但是,如果您发现构建错误,请考虑检查您的依赖项。
如果上述解决方案无法修复错误,请尝试完全关闭 android studio 然后重新启动它。
要添加到 Dron 的答案中 - 如果 none 有效,您也可以尝试 File > invalidate cache's and restart
除了 NavController
之外,我在 AppCompatActivity()
、layoutInflater
和下面提到的代码中遇到了同样的错误。
错误:Unresolved reference: NavController
等等...
我的代码:
package com.example.wordsapp
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.NavController
import androidx.navigation.NavHost
import androidx.navigation.ui.setupActionBarWithNavController
import com.example.wordsapp.databinding.ActivityMainBinding
/**
* Main Activity and entry point for the app. Displays a RecyclerView of letters.
*/
class MainActivity : AppCompatActivity() {
private lateinit var navController: NavController
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
val navHostFragment = supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHost
navController = navHostFragment.navController
setupActionBarWithNavController(navController)
}
override fun onSupportNavigateUp(): Boolean {
return navController.navigateUp() || super.onSupportNavigateUp()
}
}
- 首先检查是否可以构建项目。
如果项目能建成,那么它可能是Kotlin/JVM mismatch
。但是,如果您发现构建错误,请考虑检查您的依赖项。
如果上述解决方案无法修复错误,请尝试完全关闭 android studio 然后重新启动它。
要添加到 Dron 的答案中 - 如果 none 有效,您也可以尝试 File > invalidate cache's and restart