The Code A works well, can I use it
instead of the value of LiveData<List<MVoice>>
when I use observe
in Kotlin, just like Code B
Code A
val adapter = VoiceAdapters(mHomeViewModel)
binding.mvoiceList.adapter=adapter
mHomeViewModel.listVoiceBySort().observe(viewLifecycleOwner){listMove->
adapter.submitList(listMove)
}
class HomeViewModel(private val mDBVoiceRepository: DBVoiceRepository) : ViewModel() {
fun listVoiceBySort(): LiveData<List<MVoice>> = mDBVoiceRepository.listVoiceBySort(sortBy.value!!)
}
Code B
val adapter = VoiceAdapters(mHomeViewModel)
binding.mvoiceList.adapter=adapter
mHomeViewModel.listVoiceBySort().observe(viewLifecycleOwner){
adapter.submitList(it)
}
class HomeViewModel(private val mDBVoiceRepository: DBVoiceRepository) : ViewModel() {
fun listVoiceBySort(): LiveData<List<MVoice>> = mDBVoiceRepository.listVoiceBySort(sortBy.value!!)
}
Of course, you can use
it
instead of explicit parameterlistMove