Использовать цифровую клавиатуру Android, но разрешать отрицательные числа

У меня есть поле EditText, в которое я хотел бы вводить только положительные или отрицательные числа.

Когда я использую InputType.TYPE_NUMBER, он вызывает красивую цифровую клавиатуру, которую я хочу; однако он позволит вам вводить только положительные числа, даже если кнопка отрицательного значения находится на цифровой клавиатуре.

Я попытался использовать InputType.TYPE_NUMBER_FLAG_SIGNED, и это позволит пользователю вводить отрицательные или положительные числа, как я хочу; однако он вызывает стандартную буквенную клавиатуру.

Есть ли способ вызвать цифровую клавиатуру и разрешить отрицательные числа?

Любая помощь в этом будет принята с благодарностью.


person slister    schedule 15.09.2014    source источник


Ответы (4)


android:inputType ="numbersigned"

Это работает для меня.

person Raja Jawahar    schedule 10.06.2016

для вашего EditText в XML вы можете принудительно указать тип ввода только с помощью атрибута android:inputType XML, для которого установлено значение numberSigned, number или numberDecimal. Вы также можете принудительно использовать его с помощью setRawInputType.

Вы также можете заставить клавиатуру отображать только цифры, установив android:digits XML-атрибут

person ashoke    schedule 15.09.2014

Просто используйте android:inputType="number|numberSigned" или в Java setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED)

person Carlos Coelho    schedule 23.06.2017

fromEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL
                    | InputType.TYPE_NUMBER_FLAG_SIGNED);

Теперь это позволяет вам устанавливать отрицательные/десятичные/стандартные числа

person Avi Parshan    schedule 16.01.2021