[英]Take ClickListener time of RecyclerView with livedata
我们使用实时数据 mvvm 获取了 RecyclerView 的事件时间点击。 所有数据均来自使用 retrofit 的 API。 实时数据填写在 RecyclerView 中。 现在列出数据集点击侦听器打开其他屏幕那些详细屏幕。任何帮助我设置点击侦听器。 我有六节课
1) 在 ViewModel 中,有一个 MutableLiveData 变量来保存所选项目。
MutableLiveData<Item> selectedItem = new MutableLiveData<>();
2) 观察 UI 中的 LiveData 变量,并将意图代码写入下一个屏幕,其中包含附加项目。
mViewModel.selectedItem.observe(this, new Observer<Item>() {
@Override
public void onChanged(Item item) {
if (item != null) {
Intent intent = new Intent(ThisActivity, NextActivity);
intent.putExtra(Const.KEY_INTENT_DATA_ITEM, item);
startActivity(intent);
}
}
});
3) 将 ViewModel object 传递给您的适配器。
4) 将点击监听器添加到您的视图中,从 onBindViewHolder 您将获得项目 position。 使用它,我们可以获得选定的项目。
5) 在单击项目时,将项目设置为 ViewModel 的 MutableLiveData 变量。
mViewModel.selectedItem.setValue(item);
6) 当我们在 UI 中观察该变量时,将调用onChanged()
并将其数据显示在您的下一个屏幕中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.