2012-03-25 71 views
1

我得到下面的错误和堆栈跟踪:安卓:无法初始化光标窗口

Caused by: java.lang.IllegalStateException: Couldn't init cursor window 
at android.database.CursorWindow.native_init(Native Method) 
at android.database.CursorWindow.<init>(CursorWindow.java:41) 
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:276) 
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:268) 
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:171) 
at android.database.AbstractCursor.moveToFirst(AbstractCursor.java:248) 

有谁知道为什么吗?我无法在我的设备上重现错误(适用于我)。

+0

http://androidbridge.blogspot.in/2011/09/illegalstateexception-couldnt把接近-init.html – 2012-03-25 18:18:26

+0

在我的应用程序中,我在4.1.1上有CINK PEAX手机出现此错误*仅*。你有任何一种设备或只有特定的设备/ Android版本? – Thierry 2013-05-27 07:18:34

回答

0

我想你应该:

if (!cursor.isClosed() ||cursor != null) 
      { 
        cursor.close(); 
        cursor=null; 
      } 

和所有你打开的游标应该关闭,并在最后

+0

我没有完全按照你写的内容来做,但我确保所有的游标代码都正确执行(例如,我没有尝试关闭未打开的游标)。 – easycheese 2012-08-23 00:21:52