2013-09-13 5 views
0

У меня есть вид списка, который содержит имя элемента и флажок перед именем элемента и одну кнопку удаления под макетом, если в моем списке содержится 15 элементов, тогда отображается только 10 элементов, когда Я прокручиваю вниз и проверяю 15-й элемент, а затем нажимаю кнопку «Удалить», в этом флажке будет выбрано исключение с нулевым указателем. Ниже приведен мой код для удаления элементов из списка с помощью флажка.Удалить элементы из списка ViewView на Android

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

проверить это http://stackoverflow.com/questions/18715556/removing-muliple-items-from-listview-using-check-box-in-android/18716460#18716460 – Raghunandan

ответ

0

Метод findViewById не должен принимать на входе в «положение» (как i - 1), но идентификатор из пакета ресурсов, как R.id.check_box.

Смежные вопросы