Читая найденную документацию LiveData
здесь , я наткнулся на этот раздел:
Если жизненный цикл становится неактивным, он получает последние данные после повторной активации. Например, действие, которое было в фоновом режиме, получает последние данные сразу после того, как оно возвращается на передний план.
Когда я создаю пустой проект для проверки этого, я обнаруживаю, что последние данные не отправляются, когда исходящий из фона.
Пример кода из onCreate()
:
viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
button.setOnClickListener {
viewModel.buttonClicked()
}
viewModel.textLiveData.observe(this, Observer {
textview.text = it
Log.d("TEST", "new data = $it")
})
При переходе в фоновый режим и при возврате последние данные, которые содержатся в LiveData
, отправляются снова в наблюдатель?
ОБНОВЛЕНИЕ:
Код ViewModel согласно запросу:
class MyViewModel : ViewModel() {
val textLiveData = MutableLiveData<String>()
fun buttonClicked() {
textLiveData.value = "new text value"
}
}