Мне нужно увидеть немного глубже в вашем коде, но ваш код, вероятно, не работает, потому что вы передаете this
, и вы должны передать this.activity
в ViewModelProvider
, вот так:
myviewModel = ViewModelProvider.of(this.activity).get(MyViewModel::class.java)
myviewmodel.data({this.lifecycle}, { data -> Log.d("NEWDATA", data) }
Предполагая, что data
является LiveData
объектом.Это должно быть сделано для каждого ViewModelProvider, где вы хотите обмениваться данными, например, если вы обмениваетесь данными между двумя различными фрагментами, которые связаны с одним и тем же действием, тогда вы должны вызвать ViewModelProvider.of(this.activity)
для обоих из них