从Android中的ListView中删除项目

时间:2013-09-13 07:43:54

标签: android android-listview

我有一个列表视图,其中包含项目名称前面的项目名称和复选框,以及布局下方的一个删除按钮,如果我的列表包含15个项目,则只有10个项目可见,当我向下滚动并检查第15项,然后按删除按钮,它将在复选框上抛出一个空指针异常。以下是我使用复选框从列表视图中删除项目的代码。

deleteButton.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View view) {
        System.out.println("Cursor length is " + cursor.getCount());
        for (int i = 1; i <= cursor.getCount(); i++) {
            listData.recomputeViewAttributes(view);
            listData.getResources();
            listData.smoothScrollToPosition(i);
            view = listData.getChildAt(i-1);

            System.out.println("Count is "+i);
            CheckBox box = (CheckBox) view.findViewById(R.id.checkBox1);
            if (box.isChecked()) {

                System.out.println("Box Checked");

                /*cursor.moveToPosition(i);
                int id = cursor.getInt(0);
                System.out.println("Id is " + id);
                controller.deleteBookmarkOnId(id);*/
            }
        }
        dialog.dismiss();
    }
});

1 个答案:

答案 0 :(得分:0)

findViewById方法不应该输入“位置”(如i - 1),而是输入资源包中的ID,例如R.id.check_box