我试图通过这种方式更改CursorAdapter中的Cursor:
Cursor newCursor = compiledStatement.getCursor();
startManagingCursor(newCursor);
adapter.changeCursor(newCursor);
不幸的是,我得到了这个例外:
java.lang.IllegalStateException: attempt to re-open an already-closed object:
android.database.sqlite.SQLiteQuery
根据其他主题,应该可以在不创建新内容的情况下更改CursorAdapter的内容.
解决方法:
我发现了这个问题.我的CursorAdapter实现了SectionIndexer,所以我不得不owerwrite changeCursor()方法并重置AlphabetIndexer的Cursor.
@Override
public void changeCursor(Cursor cursor) {
mIndexer.setCursor(cursor);
super.changeCursor(cursor);
}
原文地址:https://codeday.me/bug/20190613/1236019.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。