Я сделал приложение для заметок и все работает нормально. Просто в RecyclerView List, когда я выбираю элемент или элементы и в меню нажимаю кнопку «Удалить», заметка не удаляется. Хотя метод удаления работает в другом месте. Вот метод удаления кнопки в меню:
@Override
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
if (item.getItemId() == R.id.delete_selected) {
for (NotePad notePad : notes) {
if (selectedIds.contains(notePad.getId())) {
database = new Database(this);
database.deleteNote(notePad.getId());
}
}
adapter.notifyDataSetChanged();
return true;
}
return false;
}
И метод удаления заметки в моем классе базы данных:
void deleteNote(long id) {
SQLiteDatabase database = this.getWritableDatabase();
database.delete(DATABASE_TABLE, ID + "=?", new String[] {String.valueOf(id)});
database.close();
}
Я не знаю, как связать идентификатор выбранной заметки с Мой метод вызывает метод deletNote получает длинное значение, но мой selectedId - это List. Заранее спасибо.
ОБНОВЛЕНО
Я понял, что мой код работает найти, но он не обновляет sh список, а также возвращается из ActionMode на панель инструментов. Я попытался адаптер.notifyDataSetChanged ();