我正在使用 Room DB 来获取回收站视图。每行都有一个删除图标来删除该项目。我也想从 Room db 中删除相同的项目。我已经完成了下面的代码,但它只反映在列表中,刷新后再次从 db 加载已删除的数据。
带有删除侦听器的适配器类:
btn_delete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
deletePosition=getAdapterPosition();
DeleteTask deleteTask = new DeleteTask();
deleteTask.execute();
alertDialog.dismiss();
}
});
public class DeleteTask extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... integers) {
DatabaseClient.getInstance(activity)
.getAppDatabase()
.DraftDataDao()
.deleteById(deletePosition);
return null;
}
@Override
protected void onPostExecute(Void aVoid) {
super.onPostExecute(aVoid);
inProgressModelList.remove(deletePosition);
notifyItemRemoved(deletePosition);
notifyItemRangeChanged(deletePosition, inProgressModelList.size());
globalData.setInprogress_count(inProgressModelList.size());
}
}
数据库道
@Query("DELETE FROM MovieData WHERE Id = :id")
public abstract void deleteById(int id);
请帮助我。