summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndroid (Google) Code Review <android-gerrit@google.com>2009-05-04 16:59:12 -0700
committerAndroid (Google) Code Review <android-gerrit@google.com>2009-05-04 16:59:12 -0700
commitb7ce28c64cc2f7250b02021f8a4cd3874155bee8 (patch)
tree7c5cd141d96f6a05580283bd2aed3055206bd762
parent2c9eec6b1d072a665b17dd4285260aa4d4fadcf4 (diff)
parent51d154b82b5ed95edb0a869414ecbcd4faa6a62c (diff)
downloadframeworks_base-b7ce28c64cc2f7250b02021f8a4cd3874155bee8.zip
frameworks_base-b7ce28c64cc2f7250b02021f8a4cd3874155bee8.tar.gz
frameworks_base-b7ce28c64cc2f7250b02021f8a4cd3874155bee8.tar.bz2
Merge change 962 into donut
* changes: Fixes #1603191. GridView could provoke NPEs during layout passes initiated from key events.
-rw-r--r--core/java/android/widget/GridView.java4
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;