之前项目里,早起用到了PullToRefreshListView,后来一部分用到了RefreshListView,最近在做优化的时候,其中一个问题就是PullToRefreshlistView上拉加载更多时列表会跳动,
比如第一页是20个,上拉加载第二页,数据出来后原来第19个可能跳到大概可见区域的第三个的位置。影响体验效果。
之前使用listview.setselecttion(19)来做,效果不好。
今天研究出来了解决方案。
要用到另一个方法,listview.setSelectionFromTop(position, y)来做。
其中position还是19,y在上拉加载回调取数前这样来赋值 y=my_friend_list.getRefreshableView().getChildAt(position-my_friend_list.getRefreshableView().getFirstVisiblePosition()).getTop()-30 ;其实就是y轴的便宜,不减30加载下一页后Listview正好停在第19个,可能让用户感觉不到加载了,-30会让第20个稍微露出来一点点。效果ok