Android:当两个变量发生变化时,想要从roomDB中获取数据吗
我想在变量更改时从roomDB获取数据。folderName更改和任务更改时。 我使用了Android:当两个变量发生变化时,想要从roomDB中获取数据吗,android,kotlin,android-room,rx-kotlin,Android,Kotlin,Android Room,Rx Kotlin,我想在变量更改时从roomDB获取数据。folderName更改和任务更改时。 我使用了MediatorLiveData,但它不起作用。 我怎样才能修好它 这是一个视图模型类 val folderName = ViewModelFolder.selectedFolder // MutableLiveData<String> val filteredTasks = MediatorLiveData<LiveData<List<Task>>>()
MediatorLiveData
,但它不起作用。
我怎样才能修好它
这是一个视图模型类
val folderName = ViewModelFolder.selectedFolder // MutableLiveData<String>
val filteredTasks = MediatorLiveData<LiveData<List<Task>>>()
init {
filteredTasks.addSource(folderName) { name ->
filteredTasks.value = getTasksByFolderIsDone(name, false)
}
}
val folderName=ViewModelFolder.selectedFolder//MutableLiveData
val filteredTasks=MediatorLiveData()
初始化{
filteredTasks.addSource(folderName){name->
filteredTasks.value=getTasksByFolderIsDone(名称,false)
}
}
主要活动
taskViewModel.filteredTasks.observe(viewLifecycleOwner, Observer { tasks ->
tasks?.let { taskAdapter.setTasks(tasks as List<Task>) }
})
taskViewModel.filteredTasks.observe(viewLifecycleOwner,Observer{tasks->
任务?.let{taskAdapter.setTasks(任务列表)}
})
您确定LiveData
应该包装在一个单独的MediatorLiveData
中吗?@Michiel不确定。。还可以吗?你确定LiveData
应该包装在一个单独的MediatorLiveData
中吗?@Michiel不确定。。还好吧?