我遇到了一個Onclick事件問題,它一直給我一個Out Of Bounds Exception。我在名單上基本上有30個汽車名稱列表,當有人點擊汽車名稱時,旁邊會出現一個複選標記。當有人再次點擊它,我做了對號dissapear這通常是當我得到一個出界異常..這是我的代碼Java android索引超出綁定異常點擊事件
private ArrayList<Integer> selected_positions= new ArrayList<>();
binding.list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View view, int position, long id) {
if(selected_positions.contains(position)) {
// Position is already CheckMarked so remove
selected_positions.remove(position);
} else {
// Position Clicked for the 1st time
selected_positions.add(position);
}
final FilterCarsAdapter FS = new FilterCarsAdapter(getActivity(), binding,selected_positions);
binding.list.setAdapter(FS);
}
});
我基本上保持在單擊Selected_Positions的ArrayList中的值按位置。問題是,例如點擊總是工作,如果我點擊索引2中的項目,然後勾選出現,但如果我再次單擊它將其刪除,我得到java.lang.IndexOutOfBoundsException:索引2無效,大小爲1,如果我位置5然後我得到java.lang.IndexOutOfBoundsException:索引5無效,大小爲1。任何幫助都會很棒,因爲我是Java新手。
您是否嘗試過調試它? – Carcigenicate