我正在为 Android 使用此代码,但在调试时我看到此错误:
使用#close 后应该释放游标
这一行有错误:
cursor = db.query(DATABASE_TABLECa, new String[]{ key_RoWid ,Key_GroupName}, null, null, null, null, null);
public List<ListAdapterdb> Getall() {
List<ListAdapterdb> dataList = new ArrayList<ListAdapterdb>();
db = dbhelper.getReadableDatabase();
Cursor cursor= null;
cursor = db.query(DATABASE_TABLECa, new String[]{ key_RoWid ,Key_GroupName}, null, null, null, null, null);
if (cursor.moveToFirst()) {
do {
ListAdapterdb data = new ListAdapterdb();
//data.setID(Integer.parseInt(cursor.getString(0)));
data.setItem(cursor.getString(1));
// Adding contact to list
dataList.add(data);
} while (cursor.moveToNext());
}
return dataList;
}
最佳答案
处理完数据后,您需要调用 cursor.close()
。
try {
ListAdapterdb data = new ListAdapterdb();
while (cursor.moveToNext()) {
// data.setID(Integer.parseInt(cursor.getString(0)));
data.setItem(cursor.getString(1));
// Adding contact to list
dataList.add(data);
}
} finally {
cursor.close()
}
关于android - 使用#close 后应释放游标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34109463/