2 回答

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
首先,UserViewModel像在 中那樣在您的適配器類中進(jìn)行初始化MainActivity,然后調(diào)用 delete 函數(shù)。
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課堂上,調(diào)用Delete函數(shù)。
public void deleteItem(User user) {
userDb.userDao().Delete(user);
}

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超6個(gè)贊
嘗試使用實(shí)時(shí)數(shù)據(jù)觀察數(shù)據(jù)庫的變化,無論何時(shí)執(zhí)行任何操作,添加或刪除(在數(shù)據(jù)庫中),在您的觀察者中為回收者視圖刷新該數(shù)據(jù)
為您的適配器設(shè)置點(diǎn)擊監(jiān)聽器
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))
}
});
在您的活動(dòng)/片段中實(shí)現(xiàn)該偵聽器,您可以從中訪問 Viewmodel 和 repo
添加回答
舉報(bào)