0

アイテム名の前にアイテム名とチェックボックスを含むリスト ビューがあり、レイアウトの下に 1 つの削除ボタンがあります。リストに 15 個のアイテムが含まれている場合、下にスクロールして 15 番目のアイテムをチェックすると、10 個のアイテムしか表示されません。次に削除ボタンを押すと、チェックボックスでnull-pointer-exceptionがスローされます。以下は、チェック ボックスを使用してリスト ビューから項目を削除するコードです。

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();
    }
});
4

1 に答える 1

0

このfindViewByIdメソッドは、「位置」( などi - 1) を入力として受け取るのではなく、リソース パッケージからの ID ( など) を受け取る必要がありますR.id.check_box

于 2013-09-13T07:48:50.473 に答える