迁移到androidx后没有超级方法getLifecycle()

问题描述 投票:9回答:4

我一直在尝试迁移我的应用程序以使用androidx,但我似乎遇到了一个奇怪的错误。从我调用getLifeCycle()时扩展AppCompatActivity的活动中,它抛出以下异常

 Caused by: java.lang.NoSuchMethodError: No super method getLifecycle()Landroidx/lifecycle/Lifecycle; in class Landroidx/core/app/ComponentActivity; or its super classes 
    at androidx.fragment.app.FragmentActivity.getLifecycle(FragmentActivity.java:324)

我相信AppCompatActivity应该实现LifecycleOwner,但事实并非如此。难道我做错了什么?这是我的gradle依赖项

implementation files("libs/jsoup-1.8.3.jar")
implementation "com.github.philjay:MPAndroidChart:v3.0.2"
implementation 'androidx.gridlayout:gridlayout:1.0.0'
implementation 'androidx.appcompat:appcompat:1.0.2'
implementation 'com.google.android.material:material:1.1.0-alpha01'
implementation "androidx.constraintlayout:constraintlayout:2.0.0-alpha2"
implementation 'androidx.constraintlayout:constraintlayout-solver:2.0.0-alpha2'
implementation 'androidx.cardview:cardview:1.0.0'
implementation "com.google.firebase:firebase-messaging:17.3.4"
implementation 'androidx.recyclerview:recyclerview:1.0.0'
implementation 'androidx.vectordrawable:vectordrawable:1.0.1'
implementation "androidx.lifecycle:lifecycle-runtime:2.0.0"

annotationProcessor "androidx.lifecycle:lifecycle-compiler:2.0.0" // use kapt for Kotlin

implementation "de.hdodenhof:circleimageview:2.2.0"
implementation 'androidx.core:core:1.1.0-alpha01'
implementation "com.thoughtbot:expandablerecyclerview:1.0"
implementation "androidx.lifecycle:lifecycle-livedata:2.0.0"
implementation "androidx.lifecycle:lifecycle-viewmodel:2.0.0"
implementation "com.github.franmontiel:FullScreenDialog:1.0.1"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation "com.github.apl-devs:appintro:v4.2.3"
implementation "com.google.firebase:firebase-crash:16.2.1"
implementation "com.google.firebase:firebase-core:16.0.5"
android android-lifecycle androidx
4个回答
11
投票

刚刚在qazxsw poi的qazxsw poi版本中尝试过,它无效。

1.1.0-alpha01界面现在由androidx.appcompat:appcompat实现,由LifecycleOwner扩展 - > ComponentActivity。您现在应该能够从您的活动中获取FragmentActivity对象。


6
投票

恢复到版本1.0.1适用于我。

AppCompatActivity

6
投票

你应该将lifecycle版本更改为implementation "androidx.core:core:1.0.1"


1
投票

在我的情况下,我的问题是与androidx活动的版本1.0.0-alpha05,我恢复到androidx.appcompat:appcompat,它工作正常

© www.soinside.com 2019 - 2024. All rights reserved.