レイアウトにsimple_list_item_multiple_choiceリストビューが 1 つあり、選択したすべてのアイテムをそこから削除しようとしています。私はそれを削除する方法を知っていますが、アイテムの削除中に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{}
}
デバッグ目的でのみ例外をキャッチしました。事前に感謝しますが、この2日間からこの部分で立ち往生しているため、助けてください.