how to fix unresolved reference lifecycleScope?
Asked Answered
N

3

30

Trying to build a simple example that uses kotlin coroutines in an activity:

   lifecycleScope.launch {
             val result = httpGet("http://hmkcode-api.appspot.com/rest/api/hello/Android")
              textView.setText(result)
   }

Can't get rid of error "unresolved reference lifecycleScope"

Relevant part of gradle file:

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'
}

}

Nunez answered 18/3, 2020 at 16:51 Comment(0)
D
28

As per the Lifecycle KTX documentation, you must include the lifecycle-runtime-ktx artifact if you want Coroutine specific extensions.

Note that lifecycle-runtime-ktx was only introduced in Lifecycle 2.2.0, so you'll need to Migrate to AndroidX, then upgrade to Lifecycle 2.2.0 if you want to use that functionality.

Disc answered 18/3, 2020 at 19:20 Comment(0)
Y
8

Late response here but I also faced this issue and finally managed to resolve it by changing the inherited Android Activity to an AppCompatActivity.

Yehudit answered 11/3, 2021 at 21:1 Comment(1)
What if we are using Hilt in our Activity?Zeculon
C
0

I had the same problem and I had to add

import androidx.lifecycle.lifecycleScope
Cramer answered 28/6 at 21:42 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.