java - NumberPicker 的格式化值在单击时消失

标签 java android android-dialog dialog-preference android-number-picker

我的 NumberPicker 在 setDescendantFocusability(FOCUS_BLOCK_DESCENDANTS) 模式下关闭了 setWrapSelectorWheel(false)

我用一个简单的格式化程序格式化了我的 Numberpicker:

mNumberPicker.setFormatter(new NumberPicker.Formatter() {
    @Override
    public String format(int value) {
        return TextUtils.makeQuatityString(getContext(), value, R.plurals.nWeek);
    }
});

示例输出:4 周,其中 4 是值。

NumberPicker 位于对话框中,短按该值后,“Weeks”消失,“4”保留。现在,长时间点击后,格式化的文本会重新出现。

现在有人知道如何解决这个问题吗?

最佳答案

看起来这是一个 bug 其他人也面临着这个问题。检查这个question .

这对我有用。我在 API 24 上测试过。

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

关于java - NumberPicker 的格式化值在单击时消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42458566/

相关文章:

java - 线程中的异常 "main"java.lang.ArrayIndexOutOfBoundsException : 5

java - 两个参数的访问者模式

android - 如何在 WebView Android 应用程序中禁用 Google Adsense?

android - 对话框启动时不会调用 onKeyDown

android - 对话框自定义宽高问题

android - 在对话框中查看太小,截断文本

java - Java 输出的说明

Android 如何使用 Espresso 检查 ImageView 的内容

android - 在Android中支持对视频文件进行编码/解码

java - 如何在基本适配器中按下按钮时添加新项目