Android小部件 - NumberPicker空白焦点

时间:2016-01-09 19:50:44

标签: java android numberpicker android-number-picker

首先,我想说我正在使用Android 5.1

我在Number Picker小部件中有关注数字的问题。 当我运行我的应用程序并使用此小部件选择片段时 - 聚焦的数字为空白。 enter image description here

XML:

<NumberPicker
    android:id="@+id/NumberPicker"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginTop="20dp"
    android:layout_gravity="center"
    android:descendantFocusability="blocksDescendants"
    />

我的片段中的方法:

public void setNumberPickerParameters(){

    mNumPicker.setMinValue(1);
    mNumPicker.setMaxValue(18);
    mNumPicker.setValue(6);
    mNumPicker.setFormatter(new NumberPicker.Formatter() {
        @Override
        public String format(int value) {
            return String.valueOf(value * 10);
        }
    });
    Log.v(SETTINGS, "Picked number: " + mNumPicker.getValue() );

}

2 个答案:

答案 0 :(得分:2)

我遇到了同样的问题,当我点击该值时,我认为它正在将颜色更改为白色,但这并不是它导致它的原因。

真正的问题是格式化。当没有使用setDisplayValues时,它是由EditText上的输入过滤器引起的。不幸的是,反思就是解决方案:

try {
    Field f = NumberPicker.class.getDeclaredField("mInputText");
    f.setAccessible(true);
    EditText inputText = (EditText) f.get(numberPicker);
    inputText.setFilters(new InputFilter[0]);
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
}

答案 1 :(得分:0)

我对不同Android版本的体验对于NumberPicker来说并不是那么好。(我没有使用最新版本)

我用我自己的实现扩展了NP类。

一个很好的例子是这样的:

Android NumberPicker: Set min, max, default from XML

祝你好运!!