diff --git a/src/me/maxwin/view/XListView.java b/src/me/maxwin/view/XListView.java index 7076763..ea54101 100755 --- a/src/me/maxwin/view/XListView.java +++ b/src/me/maxwin/view/XListView.java @@ -275,6 +275,11 @@ public boolean onTouchEvent(MotionEvent ev) { break; case MotionEvent.ACTION_MOVE: final float deltaY = ev.getRawY() - mLastY; + + if (Math.abs(deltaY) < 10) { + return super.onTouchEvent(ev); + } + mLastY = ev.getRawY(); if (getFirstVisiblePosition() == 0 && (mHeaderView.getVisiableHeight() > 0 || deltaY > 0)) { @@ -303,7 +308,8 @@ public boolean onTouchEvent(MotionEvent ev) { } else if (getLastVisiblePosition() == mTotalItemCount - 1) { // invoke load more. if (mEnablePullLoad - && mFooterView.getBottomMargin() > PULL_LOAD_MORE_DELTA) { + && mFooterView.getBottomMargin() > PULL_LOAD_MORE_DELTA + && !mPullLoading) { startLoadMore(); } resetFooterHeight();