如何摆脱 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()
    }
}
  1. 首先检查是否可以构建项目。

如果项目能建成,那么它可能是Kotlin/JVM mismatch。但是,如果您发现构建错误,请考虑检查您的依赖项。

如果上述解决方案无法修复错误,请尝试完全关闭 android studio 然后重新启动它。

要添加到 Dron 的答案中 - 如果 none 有效,您也可以尝试 File > invalidate cache's and restart