diff options
author | Romain Guy <romainguy@android.com> | 2009-05-04 16:24:39 -0700 |
---|---|---|
committer | Romain Guy <romainguy@android.com> | 2009-05-04 16:24:39 -0700 |
commit | 51d154b82b5ed95edb0a869414ecbcd4faa6a62c (patch) | |
tree | e098f8ad8e18db5f218b107595d886d5517c2fe3 | |
parent | fa3e5562793c5bd7d4513a9e1a5869e763a47ab5 (diff) | |
download | frameworks_base-51d154b82b5ed95edb0a869414ecbcd4faa6a62c.zip frameworks_base-51d154b82b5ed95edb0a869414ecbcd4faa6a62c.tar.gz frameworks_base-51d154b82b5ed95edb0a869414ecbcd4faa6a62c.tar.bz2 |
Fixes #1603191. GridView could provoke NPEs during layout passes initiated from key events.
-rw-r--r-- | core/java/android/widget/GridView.java | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java index 11fab8f..9ec8347 100644 --- a/core/java/android/widget/GridView.java +++ b/core/java/android/widget/GridView.java @@ -1534,14 +1534,14 @@ public class GridView extends AbsListView { case FOCUS_LEFT: if (selectedPosition > startOfRowPos) { mLayoutMode = LAYOUT_MOVE_SELECTION; - setSelectionInt(selectedPosition - 1); + setSelectionInt(Math.max(0, selectedPosition - 1)); moved = true; } break; case FOCUS_RIGHT: if (selectedPosition < endOfRowPos) { mLayoutMode = LAYOUT_MOVE_SELECTION; - setSelectionInt(selectedPosition + 1); + setSelectionInt(Math.min(selectedPosition + 1, mItemCount - 1)); moved = true; } break; |