我的布局中有一个simple_list_item_multiple_choice listview,我正尝试从中删除所有选定的项目.我知道如何删除它,但删除项目时遇到两个主要问题:
>我的程序不会删除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{}
}
我捕获该异常仅出于调试目的.在此先感谢您,但请帮忙,因为自最近两天以来,我一直在这一部分工作.