下面是我向左或向右滑动时用于删除项目的代码,现在问题是我在快餐栏中放置了一个UNDO按钮 . 当我滑动我从数据库中删除项目时,如何在单击UNDO时进行操作?,因为当按下UNDO时,翻转的项目应该返回 .
if (direction == ItemTouchHelper.LEFT){
//adapterr.removeItem(position);
Snackbar snackbar = Snackbar
.make(recyclerView, "1 Song deleted", Snackbar.LENGTH_LONG)
.setAction("UNDO", new View.OnClickListener() {
@Override
public void onClick(View view) {
/* Snackbar snackbar1 = Snackbar.make(recyclerView, "", Snackbar.LENGTH_SHORT);
snackbar1.show();*/
}
});
snackbar.show();
openDatabase();
String whereClause = QueueDatabase.KEY_ID + " = " + queuee.get(position).getId();
String[] whereArgs = null;
db.delete(QueueDatabase.TABLE_QUEUE,whereClause,null);
queuee.remove(position);
adapterr.notifyItemRemoved(position);
Toast.makeText(QueueActivity.this, "removed", Toast.LENGTH_SHORT).show();
}
else {
Snackbar snackbar = Snackbar
.make(recyclerView, "1 Song deleted", Snackbar.LENGTH_LONG)
.setAction("UNDO", new View.OnClickListener() {
@Override
public void onClick(View view) {
/* Snackbar snackbar1 = Snackbar.make(recyclerView, "", Snackbar.LENGTH_SHORT);
snackbar1.show();*/
}
});
snackbar.show();
openDatabase();
String whereClause = QueueDatabase.KEY_ID + " = " + queuee.get(position).getId();
String[] whereArgs = null;
db.delete(QueueDatabase.TABLE_QUEUE,whereClause,null);
queuee.remove(position);
adapterr.notifyItemRemoved(position);
Toast.makeText(QueueActivity.this, "removed", Toast.LENGTH_SHORT).show();
}
queuee是一个数组列表,用于从数据库中收集所有数据,然后填充回收器视图 . 请帮忙,谢谢
1 回答
将删除的项目及其位置复制到其他变量中
单击撤消时将项目插入相同位置
我把这个代码放在适配器中 .