微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android – 更改CursorAdapter中的Cursor

我试图通过这种方式更改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);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐