Encontrado IndexOutOfBoundException ao remover itens do ListView no Android?
Eu tenho um simple_list_item_multiple_choice listview no meu layout e estou tentando remover todos os itens selecionados. Eu sei como excluí-lo, mas estou tendo dois grandes problemas ao excluir os itens: -
Meu programa não está excluindo mais de 2 itens, como se eu selecionasse 4 itens, apenas 2 serão excluídos e, às vezes, até os itens errado
Quando depuro meu código, encontrei o Array IndexOutOfBoundException no meu código e, tanto quanto sei, não há nenhuma exceção como esta no meu código e tudo isso por causa da exclusão de itens errados ou meno
aqui é o meu código: -
public void onClick(View view)
{
SparseBooleanArray checkedPositions = new SparseBooleanArray();
checkedPositions.clear();
checkedPositions = lv.getCheckedItemPositions();
int size = checkedPositions.size();
if(size != 0)
{
try
{
for(int i = 0; i < size; i++)
{
if(checkedPositions.valueAt(i))
{
list.remove(checkedPositions.keyAt(i));
notes.notifyDataSetChanged();
lv.setItemChecked(i,false);
}
}}catch (IndexOutOfBoundsException ie)
{}
}
else{}
}
Captei a exceção apenas para fins de depuração. Agradecemos antecipadamente, mas por favor ajude, porque estou preso nesta parte desde os últimos dois dias.