电视端开发的小伙伴可能遇到过这样一个问题:当使用recycleview加载更多的时候,调用notifyDataSetChanged方法,焦点会丢失或者跑到第一个item上了,当初翻遍了baidu也没找到解决办法.
最近闲下来,仔细的在stackoverflow上寻找解决办法,终于找到了.
最近闲下来,仔细的在stackoverflow上寻找解决办法,终于找到了.
重新添加数据不要使用notifyDataSetChanged方法,而是使用notifyItemRangeChanged(int positionStart, int itemCount)方法
例如:第一次有5条数据,再添加刷新时notifyItemRangeChanged(5,增加的长度);
stackoverflow链接: http://stackoverflow.com/questions/28658579/refreshing-data-in-recyclerview-and-keeping-its-scroll-position
希望对遇到此问题的小伙伴有帮助!
本文解决了电视端应用中使用RecyclerView加载更多数据时焦点丢失的问题。通过采用notifyItemRangeChanged替代notifyDataSetChanged方法,确保滚动位置不变,适用于Android开发。

1871

被折叠的 条评论
为什么被折叠?



