2013-09-13 4 views
0

в моем приложении я добавляю имя, адрес и номер телефона человека, когда я нажимаю кнопку просмотра, он будет отображать имя, адрес и номер телефона. в listview, в моем списке видят, что каждая запись содержит один флажок перед ними, если в моем списке списка есть 15 записей, из них только 10 видны в представлении списка, когда я проверяю 15-ю запись и нажимаю кнопку удаления даст мне исключения нулевого указателя на флажок, значит, не входящих в видимые элементы в представлении не удалять из списка, когда я просматриваю их и нажмите удалить, после мой код,Элемент Listview не удаляется

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; 

ответ

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

Это не препятствуйте i от увеличивать до 15. Так что listData.getChildAt(i); на самом деле говорит listData.getChildAt(15); который Null. Попробуйте с i-1.

+0

сделал это, но все еще получаю ту же проблему, я думаю, что флажок не отображается для последнего элемента, –

+0

Вы пытались удалить из верхней части 10. И посмотрите, работает ли это в первую очередь. – Andromeda

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