1
我有一個問題,使用android遊標循環兩次,即使我知道在cursor.getCount()中只返回一個值。Android SQLite光標循環兩次
我使用的是在將對DBAdapter如下:
然後,我稱之爲我的工作人員類中:
db.open();
Cursor c = db.getAllSubDetailsFromObsTable();
while (c.moveToNext()) {
String sub_id = c.getString(0);
//Rest of real code <snipped>
myArrayList.add(sub_id);
}
c.close();
db.close();
但是,當我看着myArrayList的內容,它有兩個相同的sub_id值。我嘗試過使用c.moveToFirst()等等,但即使c.getCount()= 1,我仍然得到了arrayList中的兩個值!
我不知道這是否與onCreate和onResume有關。當我開始活動時,我調用數據庫工作,也稱爲onResume(在更改後重新填充ListViews)。看看http://developer.android.com/reference/android/app/Activity.html建議在onCreate中使用onResume,所以我可能應該使用onRestart? – iaindownie 2012-08-17 12:40:22