Я читал Android: ограничение EditText на номера и Как показать цифровую клавиатуру на EditText в Android?. К сожалению, ни один из них, похоже, не соответствует моим потребностям.
Я хочу ограничить ввод EditText только номерами. Тем не менее, я также хочу разрешить подписанный и/или десятичный ввод.
Вот мой текущий код (мне нужно сделать это программно):
EditText edit = new EditText(this);
edit.setHorizontallyScrolling(true);
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
При этом мой EditText весомо ограничивает все входные данные численными цифрами. К сожалению, он не позволяет ничего другого, например десятичной точки.
Если я изменил эту строку на edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
, EditText примет все входные данные (это не то, что я хочу...).
Я пробовал комбинировать флаги (в отчаянии, чтобы увидеть, будет ли это работать):
edit.setInputType(InputType.TYPE_CLASS_NUMBER);
edit.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL)
edit.setInputType(InputType.TYPE_NUMBER_FLAG_SIGNED)
Это тоже не сработало (EditText принял все входные данные как обычно).
Итак, как мне это сделать?