2012-05-24 1 views
0

Я использую локальный SQL-сервер, который сохраняет все правильно. Когда я открываю группу в expandableListView, все флажки, которые были сохранены в блоке db, отмечены флажком. Когда я редактирую запись (я использовал AlertDialog), закройте группу, а затем снова откройте группу. Флажок больше не установлен. Я проверил db, и редактирование было сохранено. Если я перейду на другую страницу и вернусь, как только я нажму на группу, дочерний элемент, который я редактировал, еще раз проверяется. Я использовал точки останова в eclipse и, похоже, нашел данные в db, но не отмечен как отмеченный флажок. Есть идеи?флажки expandablelistview, которые не проверяются

enter image description here

Это образ, когда я первый нажмите на группу (Двигатель)

enter image description here

Теперь я использую AlertDialog обновить запись

enter image description here

Сейчас я закрываю группу

не

enter image description here

Когда я снова открыть окно со стороны батареи больше не проверяется.

Вот код, когда я открыть группу

public void onGroupExpand(int groupPosition) 
{ 
    db= new InspectionRecordsTableDBAdapter(getBaseContext()); 
    db.open(); 
    int inspectionId = com.signalsetapp.inspectionchecklist.report 
      .returnStringID(); 
    String [] child=kids[groupPosition]; 
    ArrayList<Color> secList = new ArrayList<Color>(); 
    for(int i=0; i<child.length;i++) 
    { 
     try { 
      if (db.childFound(inspectionId, child[i])) 
       secList.add(new Color(child[i], true)); 
      else 
       secList.add(new Color(child[i], false)); 
     } catch (Exception e) { 
      secList.add(new Color(child[i], false)); 
      e.printStackTrace(); 
     } 

    } 

}

и вот код обновления сохранения в БД. Это правильно сохранить в БД

db.editRecords(
             primaryId, 
             com.signalsetapp.inspectionchecklist.report 
               .returnStringID(), 
             parent[groupPosition], 
             kids[groupPosition][childPosition], 
             input.getText().toString(), status); 
           onExpand=true; 

ответ

2

Вы должны requery() ваша группа курсор после сохранения в базу данных, и она должна регенерировать представление списка (или асинхронный эквивалент, так как Requery было устаревшими).

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

  • Нет связанных вопросов^_^