Вам нужно будет прикрепить две модели ViewMode к одному владельцу жизненного цикла. Например, у вас есть действие с именем MainActivity
, две модели представления с именами AddressesViewModel
и SearchViewModel
, и вам нужно получить переменную с именем address
для SearchViewModel
до AddressesViewModel
class MyActivity: AppCompactAvtivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
.
.
// Attach the ViewModels
val addressViewModel = ViewModelProviders.of(this).get(AddressesViewModel::class.java)
val searchViewModel = ViewModelProviders.of(this).get(SearchViewModel::class.java)
// Listen to address which is in SearchViewModel
searchViewModel.address.observe(this, Observer { address ->
// Send the variable to AddressesViewModel using a public method
val favOrNot addressViewModel.isAddressFavourite(address)
// or
addressViewModel.favouriteAddress = address
})
}
}
Надеюсь, что это отвечает на ваш вопрос.