Android ListView局部刷新item

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


猜你喜欢

转载自blog.csdn.net/u014736670/article/details/80571082