问题描述: 在一个使用MVVM架构的Android RecyclerView项目中,发现点击事件不起作用。
解决方案:
MVVM架构中的点击事件处理示例代码:
private MutableLiveData<Boolean> itemClicked = new MutableLiveData<>();
public LiveData<Boolean> getItemClicked() {
return itemClicked;
}
public void onItemClick() {
itemClicked.setValue(true);
}
public class MyViewHolder extends RecyclerView.ViewHolder {
private ItemViewModel viewModel;
public MyViewHolder(View itemView, ItemViewModel viewModel) {
super(itemView);
this.viewModel = viewModel;
itemView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
viewModel.onItemClick();
}
});
}
}
viewModel.getItemClicked().observe(this, new Observer<Boolean>() {
@Override
public void onChanged(Boolean clicked) {
if (clicked) {
// 执行点击事件的操作
}
}
});
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云