电视端开发的小伙伴可能遇到过这样一个问题:当使用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