我正在使用本地 sqlite 数据库,它可以正确保存所有内容。当我在 expandableListView 中打开一个组时,所有已存储在数据库中的复选框都被选中。当我编辑一个条目时(我使用了一个 AlertDialog),关闭该组,然后重新打开该组。该复选框不再被选中。我检查了数据库并保存了编辑。如果我转到另一个页面并返回,一旦我单击该组,我编辑的子项目将再次被选中。我在eclipse中使用了断点,它似乎在db中找到了数据,但没有将框标记为选中。有任何想法吗?
这是我第一次单击组(引擎)时的图像
现在我正在使用 AlertDialog 来更新条目
现在我关闭组
当我重新打开电池框时,不再选中。
这是我打开群组时的代码
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;