Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android:当两个变量发生变化时,想要从roomDB中获取数据吗_Android_Kotlin_Android Room_Rx Kotlin - Fatal编程技术网

Android:当两个变量发生变化时,想要从roomDB中获取数据吗

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>>>()

我想在变量更改时从roomDB获取数据。folderName更改和任务更改时。 我使用了
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不确定。。还好吧?