Android setupWithNavController(navController)使用提供的参数无法调用以下函数
Android Studio无法识别Android setupWithNavController(navController)使用提供的参数无法调用以下函数,android,kotlin,navigation,Android,Kotlin,Navigation,Android Studio无法识别setupWithNavController(navController)的正确导入 但它在谷歌I/O应用程序中起作用: 我创建了一个hello world项目,其中只添加了NavHostFragment: 活动\u main.xml: <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/and
setupWithNavController(navController)
的正确导入
但它在谷歌I/O应用程序中起作用:
我创建了一个hello world项目,其中只添加了NavHostFragment
:
活动\u main.xml:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="?android:attr/actionBarSize"
app:defaultNavHost="true"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="FragmentTagUsage" />
</androidx.constraintlayout.widget.ConstraintLayout>
dependencies {
constraints {
api "androidx.navigation:navigation-fragment-ktx:2.3.5"
api "androidx.navigation:navigation-ui-ktx:2.3.5"
api "com.google.android.material:material:1.3.0"
}
implementation "androidx.navigation:navigation-fragment-ktx:2.3.5"
implementation "androidx.navigation:navigation-ui-ktx:2.3.5"
implementation "com.google.android.material:material:1.3.0"
}
应用程序没有将
setupWithNavController
和navController
视为参数方法。但在谷歌I/O应用程序中,它确实如此
我尝试直接引用整个包名,但它只识别NavigationUI:
单击导入时,我确实看到了正确的库:
这是正确的类别:
我尝试了无效缓存/重新启动和清理,构建所有功能,但没有成功。您需要导航视图才能使用安装导航控制器看起来像这样,希望对您有所帮助 MainActivity.kt
package com.example.yourpackagename
import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView
import androidx.appcompat.app.AppCompatActivity
import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val navView: BottomNavigationView = findViewById(R.id.nav_view)
val navController = findNavController(R.id.nav_host_fragment)
val appBarConfiguration = AppBarConfiguration(setOf(
R.id.navigation_home, R.id.navigation_dashboard, R.id.navigation_notifications))
setupActionBarWithNavController(navController, appBarConfiguration)
navView.setupWithNavController(navController)
}
}
activity_main.xml
检查如何在build.gradleu中添加导航相关依赖项我们需要一个
navigationView
来使用setupWithNavController
setupWithNavController
是BottomNavigationView
的扩展。您正在尝试在AppCompatActivity
上调用它。