Делаю TODO лист и возникла проблема, когда нажимаешь на кнопку Select all, то элементы все выделаются, но когда после этого нажимаешь Delete selected, то остаётся 1 элемент. Но если всего имеешь только 1 таск, то всё удалится. В чём проблема никак не пойму?
рис1 до добавления элементов, рис2 после добавления, рис3 когда нажал кнопку выделить всё и кнопку удалить выделенные
checkForEmptyTask() только проверяет if (taskAdapter.getItemCount == 0) то выводит текст что тасков еще нету
------------------------------------------------------------------------------
TaskAdapter
public void selectAllElements () {
for (int i = 0; i < listCheckBoxChecked.size(); i++) {
listCheckBoxChecked.set(i, true);
}
notifyDataSetChanged();
}
public void removeSelected () {
for (int i = 0; i < listCheckBoxChecked.size(); i++) {
if (listCheckBoxChecked.get(i)) {
listTasks.remove(i);
listDate.remove(i);
listCheckBoxChecked.remove(i);
}
}
notifyDataSetChanged();
}
--------------------------------------------
public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.ViewHolder> {
private List<String> listTasks = new ArrayList<>(); // хранит таски
private List<String> listDate = new ArrayList<>(); // хранит дату тасков
private List<Boolean> listCheckBoxChecked = new ArrayList<>(); // хранит значение чекбокса(по дефолту он false)
----------------------------------------------
MainActivity
btn_sel_all.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick (View v) {
if (taskAdapter.getItemCount() == 0) {
showWrongDialog("No elements that you can select!");
} else {
taskAdapter.selectAllElements();
}
}
});
btn_del_sel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick (View v) {
taskAdapter.removeSelected();
checkForEmptyTasks();
showSuccessfullyDialog();
}
});
--------------------------------------