如何修复未解析的引用 lifecycleScope?
how to fix unresolved reference lifecycleScope?
尝试构建一个在 activity 中使用 kotlin 协程的简单示例:
lifecycleScope.launch {
val result = httpGet("http://hmkcode-api.appspot.com/rest/api/hello/Android")
textView.setText(result)
}
无法摆脱错误"unresolved reference lifecycleScope"
gradle 文件的相关部分:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:1.3.2"
def androidArchVersion = '1.1.1'
implementation "android.arch.lifecycle:viewmodel:$androidArchVersion"
implementation "android.arch.lifecycle:livedata:$androidArchVersion"
annotationProcessor "android.arch.lifecycle:compiler:$androidArchVersion"
testImplementation "android.arch.core:core-testing:$androidArchVersion"
implementation "android.arch.lifecycle:extensions:$androidArchVersion"
}
kotlinOptions {
jvmTarget = '1.8'
apiVersion = '1.3'
languageVersion = '1.3'
}
}
根据 Lifecycle KTX documentation,如果您想要特定于协程的扩展,则必须包含 lifecycle-runtime-ktx
工件。
请注意,lifecycle-runtime-ktx
仅在 Lifecycle 2.2.0, so you'll need to Migrate to AndroidX 中引入,如果您想使用该功能,请升级到生命周期 2.2.0
。
这里回复晚了,但我也遇到了这个问题,最后设法通过将继承的 Android Activity
更改为 AppCompatActivity
.
来解决它
尝试构建一个在 activity 中使用 kotlin 协程的简单示例:
lifecycleScope.launch {
val result = httpGet("http://hmkcode-api.appspot.com/rest/api/hello/Android")
textView.setText(result)
}
无法摆脱错误"unresolved reference lifecycleScope"
gradle 文件的相关部分:
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.3.2'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.3.2'
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-rx2:1.3.2"
def androidArchVersion = '1.1.1'
implementation "android.arch.lifecycle:viewmodel:$androidArchVersion"
implementation "android.arch.lifecycle:livedata:$androidArchVersion"
annotationProcessor "android.arch.lifecycle:compiler:$androidArchVersion"
testImplementation "android.arch.core:core-testing:$androidArchVersion"
implementation "android.arch.lifecycle:extensions:$androidArchVersion"
}
kotlinOptions {
jvmTarget = '1.8'
apiVersion = '1.3'
languageVersion = '1.3'
}
}
根据 Lifecycle KTX documentation,如果您想要特定于协程的扩展,则必须包含 lifecycle-runtime-ktx
工件。
请注意,lifecycle-runtime-ktx
仅在 Lifecycle 2.2.0, so you'll need to Migrate to AndroidX 中引入,如果您想使用该功能,请升级到生命周期 2.2.0
。
这里回复晚了,但我也遇到了这个问题,最后设法通过将继承的 Android Activity
更改为 AppCompatActivity
.