当前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接口即可。