私のAndroidアプリには、同じ画面でアイテムを削除するオプションを備えたリストビューがあります。削除ボタンはリスト ビューの下部にあり、項目を削除してリスト ビューを更新する関数が記述されています。この関数はonClick()
、リスト ビューで呼び出されています。ここに問題があります。
削除ボタンonClick
では、最初にどのアイテムを削除するかを確認しました-
if (ListView.INVALID_POSITION != mListView.getSelectedItemPosition()) {
//delete the selected item
}else{
//do nothing
}
したがって、ユーザーが削除ボタンに触れるたびに、リスト ビューからフォーカスが削除され、リスト ビューの位置として無効になるため、アイテムは削除されません。
また、選択した項目の値を定数に保存し、リストビューのonItemSelected()
メソッドで更新してから、削除ボタンの onClick から条件を削除しようとしました。これは機能しますが、別の問題が発生します-ユーザーが空の領域をタップすると、リストビューからフォーカスが移動します削除され、何も選択されていないように見えますが、削除ボタンを押すと、最後に選択されたアイテムが定数からのものであるため、削除されます。
これが私が直面している問題です。何をすべきか提案してください。