androidx.appcompat.app.AppCompatActivity未实现LifecycleOwner

时间:2019-03-22 15:31:36

标签: android android-lifecycle androidx

我知道看起来像是一些愚蠢的错误,但我找不到它。 在我的项目中,我可以从片段中访问LifecycleOwner,但不能从活动中访问。

这是我的build.gradle

implementation project(':domain')
implementation project(':data')
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.1.1'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'androidx.core:core-ktx:1.1.0-alpha05'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'

// Koin for Android
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-androidx-viewmodel:$koin_version"

// Anko
implementation "org.jetbrains.anko:anko-commons:$anko_version"
implementation "org.jetbrains.anko:anko-sdk15-listeners:$anko_version"

//Architecture components
implementation 'androidx.legacy:legacy-support-v4:1.0.0'
implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"

这是活动代码: enter image description here

这是AppCompatActivity的源代码 enter image description here

2 个答案:

答案 0 :(得分:7)

根据this issue,如果您使用core-ktx:1.1.0appcompat:1.0.2,将alpha版本与稳定版本混合使用,则这是一个已知问题。升级到appcompat:1.1.0-alpha03即可解决问题:

implementation 'androidx.appcompat:appcompat:1.1.0-alpha03'

答案 1 :(得分:0)

这是您的核心库。生产代码的一般经验法则也要尽量避免使用alpha。更新以下库,就可以了。

implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.0.1'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.0.1'