I wanna fetch data from roomDB when variable changed. When folderName changed and when task changed.
I use MediatorLiveData
, but it doesn't work.
How can I fix it?
This is a view model class.
val folderName = ViewModelFolder.selectedFolder // MutableLiveData<String>
val filteredTasks = MediatorLiveData<LiveData<List<Task>>>()
init {
filteredTasks.addSource(folderName) { name ->
filteredTasks.value = getTasksByFolderIsDone(name, false)
}
}
Main activity
taskViewModel.filteredTasks.observe(viewLifecycleOwner, Observer { tasks ->
tasks?.let { taskAdapter.setTasks(tasks as List<Task>) }
})