Я пытаюсь удалить элементы в RecyclerView из моей базы данных SQLite, но получаю следующую ошибку:
java.lang.IndexOutOfBoundsException: Index: 1, Size: 0
at java.util.ArrayList.get(ArrayList.java:437)
at com.reogen.bettarium.Fragments.ListFragment.onSwipe(ListFragment.java:135)
at com.reogen.bettarium.Helpers.SwipeToDelete.onSwiped(SwipeToDelete.java:30)
Но я не понимаю, в чём дело .. Эти две строки:
public Void onSwipe(RecyclerView.ViewHolder viewHolder, int direction, int position) {
if (viewHolder instanceof ToDoAdapter.ToDoViewHolder) {
String name = list.get(viewHolder.getAdapterPosition()).get_title();<-----
и
public void onSwiped(@NonNull RecyclerView.ViewHolder viewHolder, int direction) {
if (listener != null) {
listener.onSwipe(viewHolder, direction, viewHolder.getAdapterPosition()); <-----
}
}
Почему мое приложение аварийно завершает работу и не удаляет элемент из БД?Большое спасибо
РЕДАКТИРОВАТЬ: я пытаюсь удалить элементы из recyclerView и базы данных с OnSwipe в основном фрагменте:
public Void onSwipe(RecyclerView.ViewHolder viewHolder, int direction, int position) {
if (viewHolder instanceof ToDoAdapter.ToDoViewHolder) {
String name = list.get(viewHolder.getAdapterPosition()).get_title();
int deleteIndex = viewHolder.getAdapterPosition();
toDoAdapter.removeItem(deleteIndex);
mDatabase.execSQL("DELETE FROM " + TABLE_TODO + " WHERE " + COLUMN_TODONAME + "=\"" + name + "\";");
//mDatabase.delete(ToDoDBHandler.ToDoItemDatabase.TABLE_TODO, ToDoDBHandler.ToDoItemDatabase.COLUMN_ID + "=" + position, null);
toDoAdapter.swapCursor(newCursor());
}