2

首先我想说我使用的是Android 5.1

我对数字选择器小部件中的焦点数字有疑问。当我运行我的应用程序并使用此小部件选择片段时 - 焦点数字为空白。 在此处输入图像描述

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() );

}
4

2 回答 2

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();
}
于 2017-10-15T23:39:18.463 回答
0

我在使用 NumberPicker 时在不同的 android 版本上的体验不太好。(我没有使用过最新版本)

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

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

Android NumberPicker:从 XML 设置最小值、最大值、默认值

祝你好运 !!

于 2016-01-11T05:20:22.933 回答