Как поделиться той же ViewModel между Activity и Service, когда ViewModelProviders.of () устарела? - PullRequest
0 голосов
/ 17 февраля 2020

В новой версии androidx.lifecycle: lifecycle-extensions: 2.2.0 функция ViewModelProviders.of () устарела. Он предположил, что мы должны

 * @deprecated Use the 'by viewModels()' Kotlin property delegate or
 * {@link ViewModelProvider#ViewModelProvider(ViewModelStoreOwner)},
 * passing in the activity.

Однако я хочу поделиться одним и тем же экземпляром ViewModel между действием и службой, я не могу использовать делегирование «byModels ()». Кто-нибудь может указать, как правильно это сделать?

Большое спасибо

1 Ответ

1 голос
/ 17 февраля 2020

Просто замените его на

В действии:
Kotlin: ViewModelProvider(this).get(CustomViewModel::class.java)
Java: ViewModelProvider(this).get(CustomViewModel.class)

In Service:
создать экземпляр viewModel с ключевым словом new внутри класса обслуживания

это работает для меня :)

...