From 8bcbebd4178b2e9aca9ee3bd9e1e12c42e74c8db Mon Sep 17 00:00:00 2001 From: Adam Powell Date: Sat, 2 Oct 2010 12:16:51 -0700 Subject: [PATCH] Fix bug 3024080 - Date picker month field uses numeric text field NumberPicker now uses text entry when displayed value strings are provided. Change-Id: I555a7d6b64ad6a5af131b3e1d8c638dcdb00d02c --- core/java/android/widget/DatePicker.java | 4 +++- core/java/android/widget/NumberPicker.java | 16 ++++++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java index 8aed454a47154..a3712902b85ef 100644 --- a/core/java/android/widget/DatePicker.java +++ b/core/java/android/widget/DatePicker.java @@ -114,9 +114,11 @@ public class DatePicker extends FrameLayout { for (int i = 0; i < months.length; i++) { months[i] = String.valueOf(i + 1); } + mMonthPicker.setRange(1, 12); + } else { + mMonthPicker.setRange(1, 12, months); } - mMonthPicker.setRange(1, 12, months); mMonthPicker.setSpeed(200); mMonthPicker.setOnChangeListener(new OnChangedListener() { public void onChanged(NumberPicker picker, int oldVal, int newVal) { diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java index 582d9e4a104ac..4482b5b26aeb7 100644 --- a/core/java/android/widget/NumberPicker.java +++ b/core/java/android/widget/NumberPicker.java @@ -16,6 +16,8 @@ package android.widget; +import com.android.internal.R; + import android.annotation.Widget; import android.content.Context; import android.os.Handler; @@ -26,14 +28,6 @@ import android.text.method.NumberKeyListener; import android.util.AttributeSet; import android.view.LayoutInflater; import android.view.View; -import android.view.View.OnClickListener; -import android.view.View.OnFocusChangeListener; -import android.view.View.OnLongClickListener; -import android.widget.TextView; -import android.widget.LinearLayout; -import android.widget.EditText; - -import com.android.internal.R; /** * A view for selecting a number @@ -274,6 +268,12 @@ public class NumberPicker extends LinearLayout { mEnd = end; mCurrent = start; updateView(); + + if (displayedValues != null) { + // Allow text entry rather than strictly numeric entry. + mText.setRawInputType(InputType.TYPE_CLASS_TEXT | + InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS); + } } /**