androidx.appcompat.app.AppCompatActivity не реализует LifecycleOwner

#android #android-lifecycle #androidx

#Android #android-жизненный цикл #androidx

Вопрос:

Я знаю, выглядит как какая-то глупая ошибка, но я не могу ее найти. В моем проекте у меня есть доступ к LifecycleOwner из моих фрагментов, но не из Activity.

Вот мой 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"
  

Вот код действия:
введите описание изображения здесь

И это исходный код AppCompatActivity
введите описание изображения здесь

Ответ №1:

Что касается этой проблемы, это известная проблема, если вы используете core-ktx:1.1.0 и appcompat:1.0.2 , смешивая альфа-версии со стабильными выпусками. Обновите до appcompat:1.1.0-alpha03 , чтобы устранить проблему:

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

Комментарии:

1. Вы спасли мне день, убив 2 часа на этот вопрос. Теперь это работает.

Ответ №2:

Это ваша основная библиотека. Также общее эмпирическое правило для производственного кода: старайтесь избегать использования alpha. Обновите следующие библиотеки, и все должно быть в порядке.

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

Комментарии:

1. Эти библиотеки не имеют никакого отношения к моей проблеме. Как заявил @ianhanniballake, это связано с implementation 'androidx.appcompat:appcompat:1.0.2' и implementation 'androidx.core:core-ktx:1.0.1' я должен использовать обе стабильные или обе альфа-версии.

2. хорошо, если вы это исправили, я не буду спорить ;). У меня была точно такая же проблема, и простое изменение вышеуказанных библиотек устранило ее для меня. Я уже дважды сталкивался с этим в двух разных проектах, и оба раза это были вышеупомянутые библиотеки. буквально, просто изменив эти версии и перекомпилировав Gradle, я сделал это за меня. Но важно то, что вы это исправили, так что в любом случае у вас все хорошо.