Android Studio没有看到setupWithNavController

时间:2019-04-27 17:25:45

标签: android kotlin android-gradle

我在寻找信息,有一个答案“重启android studio”,但没有帮助

  

错误:尚未解决的参考:setupWithNavController

app:

    apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: "androidx.navigation.safeargs.kotlin"

apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 28
    defaultConfig {
        applicationId "com.example.relesrulate"
        minSdkVersion 15
        targetSdkVersion 28
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}


androidExtensions {
    experimental = true
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:28.0.0'
    implementation 'com.android.support.constraint:constraint-layout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'


    // Navigation
    implementation "androidx.navigation:navigation-fragment:$navigation_version" // For Kotlin use navigation-fragment-ktx
    implementation "androidx.navigation:navigation-ui:$navigation_version" // For Kotlin use navigation-ui-ktx

    implementation 'com.jakewharton.threetenabp:threetenabp:1.2.0'

    implementation "androidx.core:core-ktx:1.0.1"
    implementation "androidx.constraintlayout:constraintlayout:1.1.3"
}

保护:

buildscript {
    ext.kotlin_version = '1.3.31'
    ext.room_version = '2.1.0-alpha07'
    ext.navigation_version = '2.1.0-alpha02'
    ext.kodein_version = '5.2.0'
    ext.lifecycle_version = '2.0.0'
    ext.retrofit_version = '2.5.0'


    repositories {
        google()
        jcenter()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files



        //classpath 'android.arch.navigation:navigation-safe-args-gradle-plugin:2.1.0-alpha02'
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.1.0-alpha02"
    } }

allprojects {
    repositories {
        google()
        jcenter()

    } }

task clean(type: Delete) {
    delete rootProject.buildDir  }

需要解决的问题? 有时导航中不会出现片段,而是最近添加的新片段

1 个答案:

答案 0 :(得分:1)

根据导航依存关系末尾的注释:For Kotlin use navigation-fragment-ktxFor Kotlin use navigation-ui-ktx。由于您使用的是Kotlin,因此应该使用那些方法来访问Kotlin扩展方法,例如setupNavController

// Navigation
implementation "androidx.navigation:navigation-fragment-ktx:$navigation_version"
implementation "androidx.navigation:navigation-ui-ktx:$navigation_version"