我正在获得这段代码的"完成一个尚未停用或关闭的光标"错误.该代码用于填充列表视图.
因为它是一个非致命的错误,没有崩溃,所有似乎都工作正常..但我不喜欢错误.
如果我关闭此代码末尾的光标......列表视图保持空白.如果我在onStop上关闭光标,我会得到同样的错误.
我该如何解决??
private void updateList() {
DBAdapter db = new DBAdapter(this);
db.open();
//load all waiting alarm
mCursor=db.getTitles("state<2");
setListAdapter(new MyCursorAdapter(this, mCursor));
registerForContextMenu(getListView());
db.close();
}
error :
E/Cursor ( 2318): Finalizing a Cursor that has not been deactivated
or closed. database = /data/data/xxxxxxxxxxxxxxx.db, table = alerts,
query = SELECT _id, alert_id,
E/Cursor ( 2318):
android.database.sqlite.DatabaseObjectNotClosedException: Application
did not close the cursor or database
object that was opened here
E/Cursor ( 2318): at
android.database.sqlite.SQLiteCursor.<init>(SQLiteCursor.java:210)
E/Cursor ( 2318): at
android.database.sqlite.SQLiteDirectCursorDriver.query(SQLiteDirectCursorDriver.java:
53)
E/Cursor …Run Code Online (Sandbox Code Playgroud) 我有时会在logcat输出中看到此错误,
Cursor: invalid statement in fillWindow().
Run Code Online (Sandbox Code Playgroud)
当我按下后退键然后listview在转到我的自定义之前它进入默认的Android时,有时会发生这种情况listview.
这是什么意思?我该如何解决?因为它没有指向问题来自的任何代码行.
LogCat继续向我展示一个
光标在没有事先关闭的情况下完成()
警告.
我在以前版本的应用程序中使用SQLite,但不再使用它了.
我试图找到这个警告的原因没有运气.一些谷歌和Stackoverflow的参考文献说它与数据库有关.
这个警告意味着什么?我应该忽略它吗?
我可以提供示例代码,但我不知道我的应用程序的哪个部分导致了这个问题.也没有添加堆栈跟踪.
编辑:显然我正在使用的第三方依赖项正在使用游标,这会导致此警告.