Tim*_*mar 6 sqlite android cursor
我有一个ListActivity绑定到游标的东西,当ListView选择了一个EditItem活动被启动的项时startActivityForResult,这个EditItem活动预先形成了几个查询,每个查询都放在它们各自的Cursor中.这些用于填充微调器,非常类似于Access DB中的查找字段.
我的问题是,一旦用户离开此EditItem活动,通过提交,取消或返回按钮,返回到ListView活动并选择ListView(相同项目或不同的项目)中的另一个条目我IllegalStateException在我的SQLiteCursor课程中得到错误(Android的,而不是我的).我很合我的游标的onDestroy方法都活动,因为有时呼吁的结果仍然会破坏调用活动.
这并不总是出现在第二个项目选择上,有时它会出现在第三个选择上.我想也许我的速度比操作系统快,所以我开始暂停,最多30秒,在我的动作之间,只有在第二次或第三次调用活动结果后才会抛出错误.没有多少暂停修复此问题.
编辑:错误在SQLiteCursor finalize调用方法中super.finalize();
编辑#2:线程的堆栈跟踪:
Daemon System Thread [<5> HeapWorker] (Suspended (exception IllegalStateException))
SQLiteCursor.finalize() line: 603
NativeStart.run() line: not available [native method]
Run Code Online (Sandbox Code Playgroud)
编辑#3 LogCat的堆栈跟踪(partslist是表名):
INFO/dalvikvm(599): Ljava/lang/IllegalStateException;: Finalizing cursor android.database.sqlite.SQLiteCursor@437541a0 on partslist that has not been deactivated or closed
INFO/dalvikvm(599): at android.database.sqlite.SQLiteCursor.finalize(SQLiteCursor.java:596)
INFO/dalvikvm(599): at dalvik.system.NativeStart.run(Native Method)
Run Code Online (Sandbox Code Playgroud)
Mat*_*lly 16
完成后确保你cursor.close().
| 归档时间: |
|
| 查看次数: |
4509 次 |
| 最近记录: |