0

在我的应用程序中,我添加了姓名、地址和电话号码,当我点击查看按钮时,它将显示姓名、地址和电话号码。在列表视图中,在我的列表视图中,每条记录前面都包含一个复选框,如果在我的列表视图中有 15 条记录,其中只有 10 条在列表视图中可见,当我检查第 15 条记录并按下删除按钮时将在复选框上给我空指针异常,这意味着当我检查它们并按删除时,列表视图中的不可见项目不会从列表中删除,以下是我的代码,

for(int i = 0;i<simpleCursorAdapter.getCount();i++){
            View view = listData.getChildAt(i);
            CheckBox deleteSelectes = (CheckBox) view.findViewById(R.id.checkDelete);

            if(deleteSelectes.isChecked()){
                cursor.moveToPosition(i);
                int delete_id = cursor.getInt(0);
                myDbhelper.deleteSelected(delete_id);
                 Intent intent = new Intent(getApplicationContext(), ListTableData.class);
                 startActivity(intent);
            }

        }
        break;
4

1 回答 1

0
int i = 0;i<simpleCursorAdapter.getCount();i++

这并不能阻止 i 增加到 15。所以listData.getChildAt(i);实际上是在说listData.getChildAt(15);哪个是Null。尝试使用i-1

于 2013-09-13T12:49:24.993 回答