Can I use it instead of the value of LiveDate when I use observe in Kotlin?

57 views Asked by At

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!!)
}
1

There are 1 answers

0
Petrus Nguyễn Thái Học On BEST ANSWER

Of course, you can use it instead of explicit parameter listMove