【发布时间】:2012-05-02 17:29:35
【问题描述】:
我正在尝试删除已检查的ListView 项目。如果只检查了一个项目,但如果有两个或三个,则应用程序强制关闭。错误日志上写着:
E/AndroidRuntime(2173): java.lang.IndexOutOfBoundsException: 位置 2 无效,大小为 2
当列表中有三个项目并删除 2. 任何人都可以帮助纠正这个错误吗?代码如下:
public void delete() {
btnDelete = (Button) findViewById(R.id.btnDelete);
btnDelete.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
for (int i = 0; i < list.getChildCount(); i++) {
View view = list.getChildAt(i);
CheckedTextView cv = (CheckedTextView) view.findViewById(R.id.checkList);
if(cv.isChecked()){
Log.i("DELETE", adapter.getItem(i).toString()+" "+cv.toString());
adapter.remove(adapter.getItem(i));
}
adapter.notifyDataSetChanged();
}
Toast.makeText(getApplicationContext(), "Selected Items Cleared", Toast.LENGTH_SHORT).show();
}
});
}
【问题讨论】:
标签: android checkbox android-listview