繁体   English   中英

Android小部件-NumberPicker空白焦点

[英]Android widget - NumberPicker blank focus

首先,我想说的是我使用的是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() );

}

我遇到了同样的问题,我想当我点击该值时它会将颜色变成白色,但这不是它的原因。

真正的问题是格式。 这是由不使用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();
}

我在其他Android版本上的体验对NumberPicker不太满意(我尚未使用最新版本)

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

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

Android NumberPicker:设置XML的最小值,最大值和默认值

祝好运 !!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM