Ich möchte ein Element in recyclerview entfernen und von sqlite löschen, aber wenn "rückgängig machen" ich weiß nicht, dieses Problem mit einem guten Weg zu lösen. dies mein CodeWie entfernt man einen Artikel und löscht Daten aus sqlite und kann ihn in der Recycleransicht wiederherstellen?
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();
}
dies ist die Art und Weise onSwiped
, ich will einen besseren Weg finden, um mein Problem zu lösen.
Haben Sie eine 'aktive' Spalte in Ihrem DB. Löschen löscht es nicht nur setzt aktiv = false. Wenn rückgängig machen, dann setze es wieder auf wahr. – Jahnold
Danke, versuchen Sie es – ilumer