天天看點

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

繼續閱讀