判斷listview是否滑到底部

最近做一個listview刷新數據的時候,到最後一行要提示“沒有數據了”

但是總是最後一個Item剛露出來的時候就彈出來這個提示,並不是在最後一個Item完全露出來後才提示,網上查到這樣一個辦法,作爲筆記先記下來

/**
     * 判斷listview的最後一個item是否完全露出來
     * @return
     */
    protected boolean isLastItemVisible(){
        final Adapter adapter=lv_agricultural.getAdapter();
        if (adapter==null||adapter.isEmpty()){
            return true;
        }
        final int lastItemPosition=adapter.getCount()-1;
        final int lastVisiblePosition=lv_agricultural.getLastVisiblePosition();
        if (lastVisiblePosition >= lastItemPosition - 1) {
            final int childIndex = lastVisiblePosition - lv_agricultural.getFirstVisiblePosition();
            final int childCount = lv_agricultural.getChildCount();
            final int index = Math.min(childIndex, childCount - 1);
            final View lastVisibleChild = lv_agricultural.getChildAt(index);
            if (lastVisibleChild != null) {
                return lastVisibleChild.getBottom() <= lv_agricultural.getBottom();
            }
        }
        return false;
    }

筆記,忘了在哪個博客上看的了,sorry了

發佈了25 篇原創文章 · 獲贊 24 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章