2010-08-16 196 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()方法。
如果仍然出现错误,请确保您的查询获得记录集。