2010-08-16 103 views
1

我在android中得到以下錯誤消息。如何在Android中避免此消息

終結尚未停用或關閉的遊標。 database = /data/data/com.example.Recipie/databases/recipedbase.db,table = recipes,query = SELECT DISTINCT title FROM recipes WHERE title =「Mysore Pa」 android.database.sqlite.DatabaseObjectNotClosedException:應用程序未關閉在這裏打開的遊標或數據庫對象 at android.database.sqlite.SQLiteCursor。(SQLiteCursor.java:210)

我已將此代碼添加到我的代碼中。但我也收到上述消息。請幫助。 :)

@Override 
    protected void onDestroy() 
    { 
     super.onDestroy(); 
     rDbHelper.close(); 
    } 
+0

我應該關閉我用過的所有遊標嗎? – 2010-08-16 14:45:04

+0

是的 - 因爲消息是這樣說的;) – ZeissS 2010-08-16 14:55:52

回答

4

您必須關閉您的遊標。

+0

我應該在同一個onDestroy()函數中關閉它嗎? – 2010-08-16 14:58:04

+1

你應該看看startManagingCursor和stopManagingCursor這個鏈接:http://developer.android.com/reference/android/app/Activity.html#startManagingCursor(android.database.Cursor) – fedj 2010-08-16 15:03:41

+4

我已經關閉了我的光標和db ..但仍然面臨着同樣的問題 – jennifer 2011-02-02 08:36:35

0

對我而言,我在獲取數據之前實現了moveToFirst()方法。
如果仍然出現錯誤,請確保您的查詢獲得記錄集。