【发布时间】:2019-05-16 13:25:20
【问题描述】:
我正在尝试在 RecyclerView 中实现滑动以存档笔记。
它工作正常,但是在我添加了这些代码以从 onResume() 刷新 RecyclerView 后,Swiping 虽然确实存档了注释,但该项目不会被删除并保持在下图中可以看到的状态:
这就是我在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);
}
【问题讨论】:
-
你要滑动删除。
-
是的@InfusionAnalysts
标签: android android-recyclerview itemtouchhelper