web-dev-qa-db-ja.com

androidxに移行した後、スーパーメソッドgetLifecycle()はありません

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"
19

バージョンで試してみました1.1.0-alpha01 of androidx.appcompat:appcompatそして、現在機能しています。

LifecycleOwnerインターフェイスは、ComponentActivityによって拡張されるFragmentActivityによって実装されるようになりました-> AppCompatActivity。これで、アクティビティからlifecycleオブジェクトを取得できるはずです。

12
Virco

androidx.appcompat:appcompatバージョンを1.1.0-alpha04に変更する必要があります

12
Hadas

バージョン1.0.1に戻すとうまくいきます。

implementation "androidx.core:core:1.0.1"
7
DoronK

私の場合、私の問題はandroidxアクティビティのバージョン1.0.0-alpha05にあり、1.0.0-alpha03そしてそれはうまく動作します

1
Caique Oliveira