Android 如何从sqlite中删除项目和数据,并在recyclerview中恢复?

Android 如何从sqlite中删除项目和数据,并在recyclerview中恢复?,android,Android,我想删除recyclerview中的一个项目并从sqlite中删除,但如果“撤消”,我不知道如何用一种好的方法解决这个问题。 这是我的密码 final int position = viewHolder.getAdapterPosition(); final thingsModel thing = adapter.getItem(position); mList.remove(position); a

我想删除recyclerview中的一个项目并从sqlite中删除,但如果“撤消”,我不知道如何用一种好的方法解决这个问题。 这是我的密码

            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。如果“撤消”,则再次将其设置为“真”。谢谢,请尝试