Koin 2.2.1: я не могу использовать «по viewModel» в действии. ⇐ Android
Koin 2.2.1: я не могу использовать «по viewModel» в действии.
Невозможно использовать «по viewModel» из Activity
Я хочу внедрить ViewModel в действие, поэтому я попробовал это. Но это не удалось, Android Studio не может найти ссылку на него.
private val mainViewModel: MainViewModel от viewModel() Моя активность расширяет AppCompatActivity, а зависимости Gradle включают следующие библиотеки:
реализация 'androidx.core:core-ktx:1.3.2' защита koin_version = '2.2.1' реализация "org.koin:koin-android:$koin_version" реализация "org.koin:koin-androidx-scope:$koin_version" реализация "org.koin:koin-androidx-viewmodel:$koin_version" реализация "org.koin:koin-androidx-fragment:$koin_version" реализация "androidx.lifecycle:lifecycle-viewmodel-savedstate:$koin_version" Что я пробовал:
Приведенный ниже код работает, но я хочу использовать новую функцию по умолчанию «SavedStateHandle» Koin 2.2.0.
private val mainViewModel: MainViewModel от inject() Я обнаружил, что этот код уже включен, Android Studio не может его найти.
ActivityExt.kt:
inline fun ComponentActivity.viewModel( квалификатор: Квалификатор? = ноль, состояние noinline: BundleDefinition? = ноль, noinline владелец: ViewModelOwnerDefinition = { from(this, this) }, noinline параметры: ПараметрыОпределение? = ноль, ): Ленивый { return ленивый (LazyThreadSafetyMode.NONE) { getViewModel(квалификатор, состояние, владелец, параметры) } } Во Fragment и viewModel, и sharedViewModel работают нормально.
частное значение viewModel от viewModel() частный вал mainViewModel отsharedViewModel() Вопрос: Как лучше всего внедрить ViewModel в Activity с версией Koin 2.2.0+?
Невозможно использовать «по viewModel» из Activity
Я хочу внедрить ViewModel в действие, поэтому я попробовал это. Но это не удалось, Android Studio не может найти ссылку на него.
private val mainViewModel: MainViewModel от viewModel() Моя активность расширяет AppCompatActivity, а зависимости Gradle включают следующие библиотеки:
реализация 'androidx.core:core-ktx:1.3.2' защита koin_version = '2.2.1' реализация "org.koin:koin-android:$koin_version" реализация "org.koin:koin-androidx-scope:$koin_version" реализация "org.koin:koin-androidx-viewmodel:$koin_version" реализация "org.koin:koin-androidx-fragment:$koin_version" реализация "androidx.lifecycle:lifecycle-viewmodel-savedstate:$koin_version" Что я пробовал:
Приведенный ниже код работает, но я хочу использовать новую функцию по умолчанию «SavedStateHandle» Koin 2.2.0.
private val mainViewModel: MainViewModel от inject() Я обнаружил, что этот код уже включен, Android Studio не может его найти.
ActivityExt.kt:
inline fun ComponentActivity.viewModel( квалификатор: Квалификатор? = ноль, состояние noinline: BundleDefinition? = ноль, noinline владелец: ViewModelOwnerDefinition = { from(this, this) }, noinline параметры: ПараметрыОпределение? = ноль, ): Ленивый { return ленивый (LazyThreadSafetyMode.NONE) { getViewModel(квалификатор, состояние, владелец, параметры) } } Во Fragment и viewModel, и sharedViewModel работают нормально.
частное значение viewModel от viewModel() частный вал mainViewModel отsharedViewModel() Вопрос: Как лучше всего внедрить ViewModel в Activity с версией Koin 2.2.0+?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение