Каждый раз, когда вы удаляете элемент из массива на нижнем рычаге, общее количество уменьшается на 1. Если у вас было 4 элемента для удаления [0, 1, 2, 3], и вы удаляете элементы, начинающиеся с элемента0, у вас есть [0, 1, 2], затем вы удаляете элемент в 1, и у вас есть [0, 1], если вы попытаетесь удалить элемент в индексе 2, который не существует, вы получите ошибку.Попробуйте отсчитать, а не как
for(int i = size; i > 0; --i)
{
if(checkedPositions.valueAt(i))
{
list.remove(checkedPositions.keyAt(i));
notes.notifyDataSetChanged();
lv.setItemChecked(i,false);
}
}