Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發 >> 關於android開發 >> 保持listview當前位置,listview當前位置

保持listview當前位置,listview當前位置

編輯:關於android開發

保持listview當前位置,listview當前位置


保持listview滑動的位置,一般用在增加listview子item中布局的評論或者退出當前活動,再次進入繼續閱讀時。

 

  利用ListView.getFirstVisiblePosition()來獲取當前可見的第一個Item的position,在滾動監聽中設置

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
        this.firstVisibleItem = firstVisibleItem;
        this.lastVisibleItem = firstVisibleItem + visibleItemCount;
        this.totalItemCount = totalItemCount;
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        this.scrollState = scrollState;

        if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
            position = this.getFirstVisiblePosition();//獲取在總的列表條數中的索引編號
            View firstVisibleItem = this.getChildAt(0);//獲取在可視的第一個列表項
            scrolledY = firstVisibleItem.getTop();//獲取第一個列表項相對於屏幕頂部的位置
        }

    }

其中存儲position和scrolledY,並在關鍵位置調用



 listView.setSelectionFromTop(position, scrolledY);(api 21)


調用上個方法就可以恢復listview 當前位置了。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved