android java.lang.IllegalStateException: trying to requery an already closed cursor

許佳佳233發表於2016-05-15

錯誤提示:

 

Java.lang.RuntimeException: Unable to resume activity {com.lenovo.leos.memowidget/com.lenovo.leos.notepad.NoteEditor}: java.lang.IllegalStateException: trying to requery an already closed cursor

 

 

可能錯誤的使用方法:

query(android.net.Uri, String[], String, String[], String)
startManagingCursor(Cursor)

 

由activity在通過query獲取了Cursor之後用startManagingCursor來管理Cursor的生命週期的,那麼每一次呼叫完畢之後Cursor也會相應的被關閉;由此從history menu tab進入的時候則可能因為Cursor被關閉了而導致異常。

 

 

 

解決辦法:

不使用startManagingCursor(Cursor)來管理Cursor的生命週期,自己使用.close()管理。

相關文章