当前ListView页面跳转到其他页面返回后,重新获取数据后刷新局部item
1.首先需要获取到跳转之前item的位置,给ListView设置setOnScrollViewListener()接口,在onScrollStateChanged()方法中写获取位置的方法。
2.在需要设置位置刷新的地方通过ListView的setSelectionFromTo()方法设置。
完成代码如下:
lv_purchase.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int scrollState) {
if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE){
lv_position = lv_purchase.getFirstVisiblePosition();
View item=lv_purchase.getChildAt(0);
pos = (item == null) ? 0 :item.getTop();
}
}
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {
}
});
lv_purchase.setSelectionFromTop(lv_position,pos);
使用了XRefreshView刷新框架的话,直接使用XRefreshView中的setOnAbsListViewScrollListener接口即可。