summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Svetoslav Ganov <svetoslavganov@google.com> 2011-01-17 12:42:41 -0800
committer Svetoslav Ganov <svetoslavganov@google.com> 2011-01-17 12:46:21 -0800
commit6c742f1e95dfe1f808bf02fadd5fbf9660b95050 (patch)
tree899ddef04c36badcb58361a58ff3cbd60936080c
parent38f79d01db07f7cc3d3b49d594b675adfa8959d5 (diff)
Catching some edge cases while flinging/scrolling in NumberPicker
1. If the scroll is exactly divisible by the scroll item height the selector wheell is one off from the current value/text input. Change-Id: I12721e85a99f6a5b51f5ad6f13c3836cb156c9a4
-rw-r--r--core/java/android/widget/NumberPicker.java8
1 files changed, 4 insertions, 4 deletions
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index ba46a3f3b9ff..63dbfbfc0352 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -754,7 +754,7 @@ public class NumberPicker extends LinearLayout {
return;
}
mCurrentScrollOffset += y;
- while (mCurrentScrollOffset - mInitialScrollOffset > mSelectorElementHeight) {
+ while (mCurrentScrollOffset - mInitialScrollOffset >= mSelectorElementHeight) {
mCurrentScrollOffset -= mSelectorElementHeight;
decrementSelectorIndices(selectorIndices);
changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
@@ -762,7 +762,7 @@ public class NumberPicker extends LinearLayout {
mCurrentScrollOffset = mInitialScrollOffset;
}
}
- while (mCurrentScrollOffset - mInitialScrollOffset < -mSelectorElementHeight) {
+ while (mCurrentScrollOffset - mInitialScrollOffset <= -mSelectorElementHeight) {
mCurrentScrollOffset += mSelectorElementHeight;
incrementScrollSelectorIndices(selectorIndices);
changeCurrent(selectorIndices[SELECTOR_MIDDLE_ITEM_INDEX]);
@@ -1147,8 +1147,8 @@ public class NumberPicker extends LinearLayout {
postAdjustScrollerCommand(0);
tryNotifyScrollListener(OnScrollListener.SCROLL_STATE_IDLE);
} else {
- showInputControls();
updateInputTextView();
+ showInputControls();
}
}
@@ -1537,8 +1537,8 @@ public class NumberPicker extends LinearLayout {
public void run() {
mPreviousScrollerY = 0;
if (mInitialScrollOffset == mCurrentScrollOffset) {
- showInputControls();
updateInputTextView();
+ showInputControls();
return;
}
// adjust to the closest value