【问题标题】:Android widget - NumberPicker blank focusAndroid 小部件 - NumberPicker 空白焦点
【发布时间】:2016-04-14 09:10:14
【问题描述】:

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

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

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

}

【问题讨论】:

  • 这个问题你解决了吗?

标签: java android numberpicker android-number-picker


【解决方案1】:

我在不同的 android 版本上对 NumberPicker 的体验不是很好。(我还没有使用过最新版本)

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

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

Android NumberPicker: Set min, max, default from XML

祝你好运!!

【讨论】:

    【解决方案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();
    }
    

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-30
      • 2022-01-16
      • 2019-05-31
      • 2010-12-08
      相关资源
      最近更新 更多