Android - ограничьте только одну десятичную точку, введите в EditText - PullRequest
4 голосов
/ 21 мая 2011

Мне нужна помощь, чтобы разрешить ввод только одной десятичной точки в представление EditText.Пример: я не хочу, чтобы 123.45.2 или 123..452 были разрешены.После ввода одной десятичной точки больше не допускается.

Ответы [ 4 ]

20 голосов
/ 21 мая 2011

Поиграйте с этим так, как вам нравится.

myEditText.setKeyListener(DigitsKeyListener.getInstance(true,true));

Возвращает DigitsKeyListener, который принимает цифры от 0 до 9, плюс знак минус (только в начале) и / или десятичную точку(только один на поле), если указано.

10 голосов
/ 21 мая 2011

Вы можете настроить его в формате xml:

<EditText
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content" 
  android:inputType="numberDecimal"    
/>
3 голосов
/ 21 мая 2011

Есть флаги, которые вы можете установить, чтобы вам не приходилось делать то, что отправил rochdev (без обид конечно).

mEditText.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

Это позволит вводить только цифры и только одну десятичную точку.

0 голосов
/ 01 декабря 2016

Установите его в формате XML android:inputType="number|numberDecimal"

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...