最近做一個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了