スパースブール配列のリストビューからチェックされたすべてのアイテムを取得しようとしており、その配列を関数に渡してユーザーにダイアログを表示し、[はい]をクリックすると、スパース配列で選択されたアイテムのデータベースでいくつかの処理を行います。
私が直面している問題は、関数を呼び出す前にスパース配列のサイズを確認すると、正しいサイズが表示されますが、関数を渡すと、呼び出されるとすぐにサイズが 0 になります。なぜそれが起こっているのか。
これが私がやっていることです--->
SparseBooleanArray checkedPositions;
switch (item.getId()) {
case delete :
checkedPositions = listView.getCheckedItemPositions();
Log.d(TAG, checkedPositions.size());
confirmDeletion(checkedPositions);
break;
}
そして、これは私がそれを渡すメソッドです --->
confirmDeletion(final SparseBooleanArray checkedPositions) {
Log.d(TAG, checkedPositions.size());
}
最初のログでは正しいサイズが得られますが、2 番目のログでは 0 になります。何が問題なのかわかりません。どんな助けでも大歓迎です。