Android - ListView 下滑載入新資料
遇到問題,過去的下滑載入功能很差,不知道原因。
試了半天終於試出來了。
覺得這個方法比較符合使用者體驗的感覺,
不會感覺上視覺有跳動的感覺,而是很直直的載入,很順。
以下是我設定的onScrollListener
private OnScrollListener scrollListener = new OnScrollListener() {
@Override
public void onScroll(AbsListView view, int firstItem, int visible, int total) {
scrollCount = visible + firstItem;
}
// 0.停止捲動 1.捲動中
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
if( scrollState == SCROLL_STATE_IDLE ) {
mPosition = view.getFirstVisiblePosition();
View v = view.getChildAt(0);
mTop = (v == null) ? 0 : v.getTop();
if( scrollCount >= perPage * page && pageCount >= page) {
page++;
loadNextPage();
}
}
}
};
等載入,把資料撈好後,再重新設定位置如下
listView.setSelectionFromTop(mPosition, mTop);