Ответ 1
Попробуйте выполнить android:inputType="phone"
?
Есть ли способ в android вызвать цифровую клавиатуру, то есть виртуальную клавиатуру, содержащую только числа от 0 до 9 и "." знак?
Попробуйте выполнить android:inputType="phone"
?
В принципе, вам нужно то, что сказал Питер Боутон.
В более общем плане, если вам нужно вызвать клавиатуру различного типа, в зависимости от ввода, который вы ожидаете от компонента EditText, вы должны использовать IMF (Input Media Framework) и различные IME (Редакторы входных носителей).
Вы можете настроить не только входные символы, но и расположение клавиатуры в приложении, автозаполнение и другие параметры.
Вы можете прочитать этот пост в блоге разработчиков Android: Обновление приложений для методов ввода на экране
Если вы говорите об ограничении ввода 0-9 + "." для поля EditText я использую атрибут android: numeric = "decimal" в XML-макете.
<EditText android:numeric="decimal" />
Если вы работаете с динамически создаваемыми представлениями EditText, соответствующий метод для вызова setKeyListener()
Убедитесь, что у вас есть только:
<EditText android:numeric="decimal" />
а не оба:
<EditText android:numeric="decimal"
android:digits="0123456789." />
Последний, т.е. используя как числовые, так и цифры, не работал у меня. Однако, используя только числовые работы.
<EditText android:numeric="decimal" />
только не влияет на клавиатуру, чтобы преобразовать ее в десятичную. Вместо этого используйте:
<EditText android:inputType="phone" android:numeric="decimal"></EditText>
Показывает только цифровую клавиатуру.