Ограничение Android NumberPicker для цифровой клавиатуры для числового ввода (не альфа-клавиатуры)

Есть ли способ предложить или ограничить ввод с клавиатуры при выборе NumberPicker, чтобы при вводе значений отображались только числовые элементы управления, аналогично тому, как вы можете использоватьandroid:inputType="number" с EditText?

У меня есть ряд значений, от 0,0 до 100,0 с шагом 0,1, что яЯ хотел бы иметь возможность использовать NumberPicker для выбора в Android 4.3. Для того, чтобы номера выбирались, яМы создали массив строк, который соответствует этим значениям, как показано ниже:

    NumberPicker np = (NumberPicker) rootView.findViewById(R.id.programmingNumberPicker);        
    int numberOfIntensityOptions = 1001;

    BigDecimal[] intensityDecimals = new BigDecimal[numberOfIntensityOptions];
    for(int i = 0; i < intensityDecimals.length; i++ )
    {
        // Gets exact representations of 0.1, 0.2, 0.3 ... 99.9, 100.0
        intensityDecimals[i]  = BigDecimal.valueOf(i).divide(BigDecimal.TEN);
    }

    intensityStrings = new String[numberOfIntensityOptions];
    for(int i = 0; i < intensityDecimals.length; i ++)
    {
        intensityStrings[i] = intensityDecimals[i].toString();
    }

    // this will allow a user to select numbers, and bring up a full keyboard. Alphabetic keys are
    // ignored - Can I somehow change the keyboard for this control to suggest to use *only* a number keyboard
    // to make it much more intuitive? 
    np.setMinValue(0);
    np.setMaxValue(intensityStrings.length-1);
    np.setDisplayedValues(intensityStrings);
    np.setWrapSelectorWheel(false);

Как больше информации, яЯ заметил, что если я не буду использоватьsetDisplayedValues() метод и вместо этого установить целые числа напрямую, цифровая клавиатурабудут использовать, но проблема здесь в том, что вводимое число в 10 раз больше, чем должно быть - например, если вы введете15" в контроль его интерпретируется как1,5"

        // This will allow a user to select using a number keyboard, but input needs to be 10x more than it should be. 
        np.setMinValue(0);
        np.setMaxValue(numberOfIntensityOptions-1);
        np.setFormatter(new NumberPicker.Formatter() {
            @Override
            public String format(int value) {
                return BigDecimal.valueOf(value).divide(BigDecimal.TEN).toString();
            }
        });

Любые предложения о том, как поднять цифровую клавиатуру, чтобы позволить пользователю вводить десятичные числа, как это?

Ответы на вопрос(2)

Ваш ответ на вопрос