2013-05-15 109 views
2

我有一个gridview填充SimpleCursor适配器和加载程序管理器(支持v4)的帮助。 Gridview的内容是通过分页帮助从Web服务器获取的。如果我在webservice调用期间快速切换详细视图和gridview之间的视图,我得到了非法状态错误/ StaleDataException。SimpleCursor适配器,LoaderManager非法状态异常或陈旧数据异常

05-15 00:36:54.114: E/AndroidRuntime(10656): java.lang.IllegalStateException: attempt to re-open an already-closed object: SQLiteQuery: SELECT * FROM product_list WHERE (url = ?) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.sqlite.SQLiteClosable.acquireReference(SQLiteClosable.java:55) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.sqlite.SQLiteQuery.fillWindow(SQLiteQuery.java:58) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:151) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.sqlite.SQLiteCursor.onMove(SQLiteCursor.java:124) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:213) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.database.CursorWrapper.moveToPosition(CursorWrapper.java:162) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.support.v4.widget.CursorAdapter.getView(CursorAdapter.java:247) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.widget.AbsListView.obtainView(AbsListView.java:2452) 
05-15 00:36:54.114: E/AndroidRuntime(10656): at android.widget.GridView.makeAndAddView(GridView.java:1331 

回答

0

也许你忘了在resetLoader回调添加adapter.swapcursor(空)? 我遇到同样的日志,而这是失踪,并打开+关闭listfragment几次..