我的布局中有一个simple_list_item_multiple_choice列表视图,我正在尝试从中删除所有选定的项目。我知道如何删除它,但是在删除项目时我遇到了两个主要问题:-
我的程序不会删除超过 2 个项目,例如如果我选择了 4 个项目,那么只会删除 2 个项目,有时甚至会删除错误的项目。
当我调试我的代码时,我在我的代码中发现了 Array IndexOutOfBoundException,据我所知,我的代码中没有这样的异常,这都是因为删除了错误或更少的项目。
这是我的代码:-
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{}
}
我仅出于调试目的才捕获异常。在此先感谢,但请提供帮助,因为自从过去两天以来,我一直被困在这一部分。