我有一个包含片段的活动,该片段具有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)
在活动中,我使用了上述机制,一切正常。
答案 0 :(得分:0)
在代码中,您正在观察模型更改并将其传递给recyclerView,但是您需要观察recyclerView更改并将其传递给模型。