web-dev-qa-db-fra.com

Aucune super méthode getLifecycle () après la migration vers androidx

J'ai essayé de migrer mon application pour utiliser Android, mais il semble que je rencontre une erreur étrange. De mon activité qui étend AppCompatActivity lorsque j'appelle getLifeCycle(), elle lève l'exception suivante 

 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)

Je pense qu'AppCompatActivity devrait implémenter LifecycleOwner mais ce n'est pas le cas. Est-ce que je fais quelque chose de mal? Voici mes dépendances de diplômé

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"
4
Abdullah Razzaki

Revenir à la version 1.0.1 fonctionne pour moi.

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

Je viens de l'essayer dans la version 1.1.0-alpha01 de androidx.appcompat:appcompat et cela fonctionne maintenant.

L’interface LifecycleOwner est maintenant implémentée par ComponentActivity qui est étendue par FragmentActivity -> AppCompatActivity. Vous devriez maintenant pouvoir obtenir l'objet lifecycle à partir de vos activités.

1
Virco