diff options
| -rw-r--r-- | core/java/com/android/internal/widget/RecyclerView.java | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/core/java/com/android/internal/widget/RecyclerView.java b/core/java/com/android/internal/widget/RecyclerView.java index 17ce75e63b6f..9ed5eb1d144e 100644 --- a/core/java/com/android/internal/widget/RecyclerView.java +++ b/core/java/com/android/internal/widget/RecyclerView.java @@ -2049,17 +2049,19 @@ public class RecyclerView extends ViewGroup implements ScrollingView, NestedScro } if (!dispatchNestedPreFling(velocityX, velocityY)) { - final View firstChild = mLayout.getChildAt(0); - final View lastChild = mLayout.getChildAt(mLayout.getChildCount() - 1); boolean consumed = false; - if (velocityY < 0) { - consumed = getChildAdapterPosition(firstChild) > 0 - || firstChild.getTop() < getPaddingTop(); - } + if (mLayout.getChildCount() > 0) { + final View firstChild = mLayout.getChildAt(0); + final View lastChild = mLayout.getChildAt(mLayout.getChildCount() - 1); + if (velocityY < 0) { + consumed = getChildAdapterPosition(firstChild) > 0 + || firstChild.getTop() < getPaddingTop(); + } - if (velocityY > 0) { - consumed = getChildAdapterPosition(lastChild) < mAdapter.getItemCount() - 1 - || lastChild.getBottom() > getHeight() - getPaddingBottom(); + if (velocityY > 0) { + consumed = getChildAdapterPosition(lastChild) < mAdapter.getItemCount() - 1 + || lastChild.getBottom() > getHeight() - getPaddingBottom(); + } } dispatchNestedFling(velocityX, velocityY, consumed); |