我正在使用一个本地的 sqlite db 来保存一切。 当我在扩展列表中打开一个组时, 检查了所有存储在该复选框中的复选框。 当我编辑一个条目( 我使用了 AwardDialog ), 关闭了该组, 然后重新打开该组。 复选框不再检查 。 我检查了 db 并保存了编辑 。 如果我去到另一个页面后再回来, 一旦点击该组, 我编辑的子项将再次检查 。 我使用日食中的断点, 它似乎在 db 中找到数据, 但没有将该框标记为选中 。 有任何想法吗?
""https://i.sstatic.net/eVBdG.png" alt="此处输入图像描述"/ >
这是当我第一次点击组( 引擎) 时的图像
""https://i.sstatic.net/c6D8a.png" alt="此处输入图像描述"/ >
现在我正在使用警报Dialog 来更新条目
""https://i.sstatic.net/UrCxi.png" alt="此处输入图像描述"/ >
现在,我把大家关了
""https://i.sstatic.net/x2LZf.png" alt="此处输入图像描述"/ >
当我重新打开电池的盒子时 电池不再被检查
这里是我打开一个团体时的代码
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 中保存的更新代码。 这确实适当地保存到 db 中
db.editRecords(
primaryId,
com.signalsetapp.inspectionchecklist.report
.returnStringID(),
parent[groupPosition],
kids[groupPosition][childPosition],
input.getText().toString(), status);
onExpand=true;