MyFragment.kt:
viewModel.studentsTemp.observe(this, Observer {
adapter.submitList(it)
})
MyViewModel.kt
private var _studentsTemp = MutableLiveData<MutableList<Student>>()
val studentsTemp: LiveData<MutableList<Student>> get() = _studentsTemp
init {
_studentsTemp.value = mutableListOf<Student>()
}
Observer is only being called when the application starts i.e. when ViewModel is created i.e. when init block runs in View Model.