android:观察2个变量 覆盖已创建的视图(视图:视图,savedInstanceState:Bundle?){ super.onViewCreated(视图,savedInstanceState) //ViewModelFolder.selectFolder是可变的LiveData ViewModelFolder.selectFolder.observe(viewLifecycleOwner,观察者{name-> 名字?让我告诉你{ taskViewModel.GetTaskSksByFolder(it,false) .观察(viewLifecycleOwner,观察者{任务-> 任务?.let{taskAdapter.setTasks(it)} }) } }) }

android:观察2个变量 覆盖已创建的视图(视图:视图,savedInstanceState:Bundle?){ super.onViewCreated(视图,savedInstanceState) //ViewModelFolder.selectFolder是可变的LiveData ViewModelFolder.selectFolder.observe(viewLifecycleOwner,观察者{name-> 名字?让我告诉你{ taskViewModel.GetTaskSksByFolder(it,false) .观察(viewLifecycleOwner,观察者{任务-> 任务?.let{taskAdapter.setTasks(it)} }) } }) },android,sql,kotlin,rx-java,android-room,Android,Sql,Kotlin,Rx Java,Android Room,我想在viewmodel文件夹时调用taskViewModel.getTasksByFolder。选择folder或任务更改。然而,内部观察者被多次调用。 如何修复它?我认为MediaLiveData可能有助于解决这个问题 在视图模型中编写如下函数 override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) // ViewM

我想在
viewmodel文件夹时调用
taskViewModel.getTasksByFolder
。选择folder
或任务更改。然而,内部观察者被多次调用。
如何修复它?

我认为MediaLiveData可能有助于解决这个问题

在视图模型中编写如下函数

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

// ViewModelFolder.selectFolder is MutableLiveData<String>
ViewModelFolder.selectFolder.observe(viewLifecycleOwner, Observer { name ->
  name?.let {
    taskViewModel.getTasksByFolder(it, false)
      .observe(viewLifecycleOwner, Observer { tasks ->
        tasks?.let { taskAdapter.setTasks(it) }
      })
    }
  })
}

我认为LiveData可能有助于解决这个问题

在视图模型中编写如下函数

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)

// ViewModelFolder.selectFolder is MutableLiveData<String>
ViewModelFolder.selectFolder.observe(viewLifecycleOwner, Observer { name ->
  name?.let {
    taskViewModel.getTasksByFolder(it, false)
      .observe(viewLifecycleOwner, Observer { tasks ->
        tasks?.let { taskAdapter.setTasks(it) }
      })
    }
  })
}

谢谢你的建议,但它不起作用。我还想返回LiveData>。谢谢你的建议,但它不起作用。我还想返回LiveData>。
viewmodel.mergeResult().observe(viewLifecycleOwner, Observer {
 . . .
}