0
私はrecyclerviewの項目を削除してsqliteから削除したいが、 "元に戻す"がわからない場合は、この問題を良い方法で解決する。 これは私のコードこれは道onSwiped
あるアイテムを削除してsqliteからデータを削除する方法、およびrecyclerviewで復元する方法はありますか?
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();
}
ですが、私は私の問題を解決するためのより良い方法を見つけたいです。
DBに「アクティブな」列があります。削除はそれを削除しないだけで、アクティブ=偽を設定します。元に戻す場合は、再びtrueに設定します。 – Jahnold
ありがとう、試してみてください – ilumer