My code always exit when executing this line, actually i already use coroutine to execute the collector code, and already use updated library for coroutine also
viewModel.rtList.collect{ list ->
adapter.submitList(list)
}
and here is my full collector code
viewLifecycleOwner.lifecycleScope.launch {
viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
Toast.makeText(requireContext(), "collect", Toast.LENGTH_SHORT).show()
try {
viewModel.rtList.collect{ list ->
adapter.submitList(list)
}
}catch (e:Exception){
Log.e(TAG, "initObserver: ${e.message}", )
}
}
}
And here is in ViewModel
private var _rtList= MutableSharedFlow<List<DataRt>>()
val rtList: SharedFlow<List<DataRt>> = _rtList
fun getRtList() {
viewModelScope.launch {
val list = mutableListOf<DataRt>()
for (rt in 1..12){
val dataRt = DataRt(rt.toString(),"0")
list.add(dataRt)
}
_rtList.emit(list)
}
}
```