【发布时间】:2016-06-01 08:38:16
【问题描述】:
我正在使用回收器视图来显示带有过滤器、排序等的表格内容。添加新项目时,我插入新项目,使用 SELECT 和排序查询数据库以获取新游标。
在回收站视图中,建议我在这种情况下调用 notifyItemInserted(int position),位置表示新项目光标中的位置。
我知道我可以做两件事:
迭代光标并找到项目的位置(如果我的表丢失了行,女巫可能不是最好的主意)
不要 notifyItemInserted,而是 notifyDataSetChanged 并且没有漂亮的动画(像野人一样)
我的问题是是否可以执行如下的 sql 查询:
查询我想要的内容
添加 COLUMN_POSITION 枚举上一个查询的结果(在内存中)
使用 select COLUMN_POSITION 查询上述内容,其中 id = 新项目的 id。
获取带位置的光标
额外问题:这个问题还有其他解决方案吗?如何在光标中找到我知道的新项目的位置?
【问题讨论】:
-
使用
CursorJoiner查看两个Cursors的区别 -
您应该将此添加为答案。虽然它并不完美,因为它需要通过我提供的唯一键按升序对游标进行排序,但无论如何它可能是我得到的最好的。
标签: android sqlite android-recyclerview