Koin 2.2.1: я не могу использовать «по viewModel» в действии.Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Koin 2.2.1: я не могу использовать «по viewModel» в действии.

Сообщение Anonymous »

Невозможно использовать «по viewModel» из Activity
Я хочу внедрить ViewModel в Activity, поэтому я попробовал это. Но это не удалось, Android Studio не может найти ссылку на него.

Код: Выделить всё

private val mainViewModel: MainViewModel by viewModel()
Моя активность расширяет AppCompatActivity, а зависимости Gradle включают следующие библиотеки:

Код: Выделить всё

implementation 'androidx.core:core-ktx:1.3.2'
def koin_version = '2.2.1'
implementation "org.koin:koin-android:$koin_version"
implementation "org.koin:koin-androidx-scope:$koin_version"
implementation "org.koin:koin-androidx-viewmodel:$koin_version"
implementation "org.koin:koin-androidx-fragment:$koin_version"
implementation "androidx.lifecycle:lifecycle-viewmodel-savedstate:$koin_version"
Что я пробовал:
Приведенный ниже код работает, но я хочу использовать новую функцию по умолчанию «SavedStateHandle». Коин 2.2.0.

Код: Выделить всё

private val mainViewModel: MainViewModel by inject()
Я обнаружил, что этот код уже включен, Android Studio не может его найти.
ActivityExt.kt:

Код: Выделить всё

inline fun  ComponentActivity.viewModel(
qualifier: Qualifier? = null,
noinline state: BundleDefinition? = null,
noinline owner: ViewModelOwnerDefinition = { from(this, this) },
noinline parameters: ParametersDefinition? = null,
): Lazy {
return lazy(LazyThreadSafetyMode.NONE) {
getViewModel(qualifier, state, owner, parameters)
}
}
Во фрагменте и viewModel, и SharedViewModel работают нормально.

Код: Выделить всё

private val viewModel by viewModel()
private val mainViewModel by sharedViewModel()
Вопрос:
Как лучше всего внедрить ViewModel в Activity с версией Koin 2.2.0+?

Подробнее здесь: https://stackoverflow.com/questions/649 ... n-activity
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»