2015-06-01 1 views
1

Так что я бы хотел, это очень простой текстовый текст с типом ввода или десятичным значком, который имеет следующие аспекты.Android Редактировать текст - Тип ввода Номер не устанавливает максимальное значение

Количество Редактирование текста:
Вы можете только ввести до Long.MAX_VALUE/Long.MIN_VALUE, так что я могу бросить в long без изменения пользовательского ввода.

Номер Десятичный Edit Text:
Вы можете ввести только номер конвертируемых в double.

Также мне не нужно использовать BigDecimal или BigIntegers, мне нужны примитивные значения. Наконец, я знаю, что это уже было задано here, но это не то, что я хочу. Существуют разные требования.

ответ

1

Мне удалось сделать это с помощью специального класса, расширяющего EditText, который добавляет TextWatcher в конструктор. В методе afterTextChanged он пытается преобразовать это в длинный. Если он не работает (NumberFormatException), он устанавливает номер в соответствующее значение min/max (в зависимости от знака «-» в начале номера).