Android

김병희 2016. 9. 15. 21:42

ListView 끝인지 확인, ListView 스크롤하여 바닥에 닿았는지/[Android]

/ 2016.09.15. 최초 작성


출처 : [Android] 리스트뷰에서 스크롤 바닥에 닿았을때 체크하기 http://krespo.net/176


listview.setOnScrollListener(new AbsListView.OnScrollListener() {

@Override

public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

//현재 화면에 보이는 첫번째 리스트 아이템의 번호(firstVisibleItem) + 현재 화면에 보이는 리스트 아이템의 갯수(visibleItemCount)가 리스트 전체의 갯수(totalItemCount) -1 보다 크거나 같을때

lastItemVisibleFlag = (totalItemCount > 0) && (firstVisibleItem + visibleItemCount >= totalItemCount;

}

@Override

public void onScrollStateChanged(AbsListView view, int scrollState) {

//onScrollListener.SCROLL_STATE_IDLE은 스크롤이 이동하다가 멈추었을때 발생되는 스크롤 상태입니다.

//즉 스크롤이 바닥에 닿아 멈춘 상태에 처리를 하겠다는 뜻

if(scrollState == onScrollListener.SCROLL_STATE_IDLE && lastItemVisibleFlag) {

//TODO 화면이 바닥에 닿을때 처리

}

}

});