У меня был проект Android с Java-кодом и я добавил поддержку Kotlin.Когда я пытаюсь использовать некоторые методы или константы из классов View или Context, я получаю сообщение об ошибке компилятора Kotlin 'Unresolved reference' .Самая странная часть проблемы заключается в том, что я могу успешно использовать View.VISIBLE, но получаю ошибку компилятора при попытке использовать View.SYSTEM_UI_FLAG_FULLSCREEN.
Kotlin, установленный на уровне проекта build.gradle
buildscript {
ext.kotlin_version = "1.3.11"
repositories {
google()
maven { url 'https://maven.fabric.io/public' }
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.0'
classpath 'io.fabric.tools:gradle:1.+'
classpath 'org.slf4j:slf4j-api:1.7.21'
classpath 'com.github.tony19:logback-android-core:1.1.1-4'
classpath 'com.github.tony19:logback-android-classic:1.1.1-4'
classpath 'com.papertrailapp:logback-syslog4j:1.0.0'
classpath 'com.google.gms:google-services:4.2.0'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
Kotlin настроен на уровне приложения build.gradle.
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'io.fabric'
apply plugin: 'com.google.gms.google-services'
/* other declarations */
dependencies {
/* other dependencies */
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
implementation "android.arch.lifecycle:extensions:$lifecycle_version"
annotationProcessor "android.arch.lifecycle:compiler:$lifecycle_version"
}
Когда я пытаюсь скомпилировать следующий код
fun foo() {
View.SYSTEM_UI_FLAG_FULLSCREEN
}
Я получаю
Unresolved reference: SYSTEM_UI_FLAG_FULLSCREEN
Но я могу успешно скомпилировать
fun foo() {
View.VISIBLE
}
Кроме того, я не могу скомпилировать
fun foo(context: Context) {
context.getExternalFilesDir("Dir")
}
Неразрешенная ссылка: getExternalFilesDir
Спасибо запомощь.