Существует ли способ, которым я могу указать маску ввода к управлению EditText в Android?
Я хочу смочь указать что-то как ### - ## - #### для Номера социального страхования. Это заставит любой недопустимый вход быть отклоненным автоматически (пример, я ввожу алфавитные символы вместо числовых цифр).
Я понимаю, что могу добавить OnKeyListener и вручную проверить на законность. Но это утомительно, и я должен буду обработать различные пограничные случаи.
Шумный
Попробуйте использовать InputFilter
вместо OnKeyListener
. Это означает, что вам не нужно беспокоиться об отслеживании нажатия отдельных клавиш, и он также будет обрабатывать такие вещи, как вставка в поле, что было бы болезненно обрабатывать с помощью OnKeyListener
.
Вы можете взглянуть на исходный код реализаций InputFilter
, которые поставляются с Android, чтобы дать вам отправную точку для написания собственного.