Android 如何从sqlite中删除项目和数据,并在recyclerview中恢复?
我想删除recyclerview中的一个项目并从sqlite中删除,但如果“撤消”,我不知道如何用一种好的方法解决这个问题。 这是我的密码Android 如何从sqlite中删除项目和数据,并在recyclerview中恢复?,android,Android,我想删除recyclerview中的一个项目并从sqlite中删除,但如果“撤消”,我不知道如何用一种好的方法解决这个问题。 这是我的密码 final int position = viewHolder.getAdapterPosition(); final thingsModel thing = adapter.getItem(position); mList.remove(position); a
final int position = viewHolder.getAdapterPosition();
final thingsModel thing = adapter.getItem(position);
mList.remove(position);
adapter.notifyItemRemoved(position);
Snackbar.make(coordinatorLayout,R.string.back,Snackbar.LENGTH_SHORT)
.setAction("undo", new View.OnClickListener() {
@Override
public void onClick(View v) {
mList.add(position,thing);
adapter.notifyItemInserted(position);
new Thread(new Runnable() {
@Override
public void run() {
storeThingDAO.insertThing(sqLiteDatabase,thing);
}
}).start();
}
}).show();
if (!mList.contains(thing)){
new Thread(new Runnable() {
@Override
public void run() {
storeThingDAO.deleteThing(sqLiteDatabase,thing.getKey());
}
}).start();
}
这是一种方法,我想找到一种更好的方法来解决我的问题。只是一个想法,同时删除某个地方的维护历史,直到
Snackbar
可见,然后将其删除。历史记录应该包含您需要删除的整个对象,以及显示该对象的行号。按下后,将该数据插入到完全相同的位置,并通知RecyclerView
只是一个想法,同时删除某个位置的维护历史记录,直到Snackbar
可见,然后将其删除。历史记录应该包含您需要删除的整个对象,以及显示该对象的行号。按下后,将该数据插入完全相同的位置,并通知数据库中有一个“活动”列。Delete不删除它只是设置active=false。如果撤消,则再次将其设置为true。谢谢,请尝试在数据库中保留“活动”列。Delete不删除它只是设置active=false。如果“撤消”,则再次将其设置为“真”。谢谢,请尝试