2 回答
TA贡献1828条经验 获得超3个赞
首先,UserViewModel像在 中那样在您的适配器类中进行初始化MainActivity,然后调用 delete 函数。
holder.delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
userModel.deleteItem(users);
}
});
在类中添加此功能UserModel。
public void deleteItem(User user) = repo.deleteItem(user);
在UserRepository课堂上,调用Delete函数。
public void deleteItem(User user) {
userDb.userDao().Delete(user);
}
TA贡献1825条经验 获得超6个赞
尝试使用实时数据观察数据库的变化,无论何时执行任何操作,添加或删除(在数据库中),在您的观察者中为回收者视图刷新该数据
为您的适配器设置点击监听器
public interface OnListInteractionListener {
// TODO: Update argument type and name
void onListInteraction(User user);
}
在适配器类
private final OnListInteractionListener mListener;
public UserAdapter(List<User> users, OnListInteractionListener listener,Context context) {
mListener = listener;
}
并在视图中绑定持有人
holder.delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
mListener.onListInteraction(userList.get(position))
}
});
在您的活动/片段中实现该侦听器,您可以从中访问 Viewmodel 和 repo
添加回答
举报