在RecyclerView中更新记录后,实时数据不会更新

时间:2018-12-14 06:09:46

标签: android fragment android-livedata

我有一个包含片段的活动,该片段具有Recyclerview。对于RecyclerView Adapter,我将ViewModel与实时数据一起使用。当我向房间数据库添加记录时,recyclerView被更新,但是当我从recylerView中更新或删除记录时,由于未更新哪个recyclerVeiw适配器,因此实时数据未更新。为了观察者实时数据,我在片段中使用了这段代码

   override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
         ViewModelProviders.of(this).get(OrderViewModel::class.jav
         orderViewModel.getBrokerClientOrder(clientUid).observe(viewLifecycleOwner, androidx.lifecycle.Observer {
        orderAdapter!!.refreshOrderAdapter(it)
    })}

在Adapter中获取ViewModel对象 orderViewModel = ViewModelProviders.of(context as AppCompatActivity).get(OrderViewModel::class.java) 在活动中,我使用了上述机制,一切正常。

1 个答案:

答案 0 :(得分:0)

在代码中,您正在观察模型更改并将其传递给recyclerView,但是您需要观察recyclerView更改并将其传递给模型。