RecyclerView ItemTouchHelper不会删除项目

时间:2019-05-16 13:25:21

标签: android android-recyclerview itemtouchhelper

我正在尝试在RecyclerView中实现滑动以存档笔记。
 一切正常,但是在我添加了这些代码以从onResume()刷新RecyclerView之后,Swiping确实存档了Note,但该项目并未被删除并保持在您可以在下图中看到的状态:

enter image description here

这就是我在onResume()中所做的:

@Override
    protected void onResume() {
        super.onResume();
        notes = noteDAO.getAllNotes();
        noteAdapter = new NoteAdapter(notes,this);
        recyclerView.setAdapter(noteAdapter);
    }  

ItemTouchHelper onSwiped()

@Override
    public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
        int position = viewHolder.getAdapterPosition();
        noteAdapter.deleteItem(position,rv);
    }  
适配器中的

deleteItem方法:

    public void deleteItem(int position, RecyclerView rv) {
            noteDAO = DBInjector.provideNoteDao(context);
            recentlyDeletedNote = notes.get(position);
            recentlyDeletedNotePosition = position;
            recentlyDeletedNote.setArchive(true);
            notes.remove(position);
            noteDAO.archiveNote(recentlyDeletedNote);
            notifyItemRemoved(position);
    }

0 个答案:

没有答案