Замаскированный вход Используя виджет EditText в Android

Существует ли способ, которым я могу указать маску ввода к управлению EditText в Android?

Я хочу смочь указать что-то как ### - ## - #### для Номера социального страхования. Это заставит любой недопустимый вход быть отклоненным автоматически (пример, я ввожу алфавитные символы вместо числовых цифр).

Я понимаю, что могу добавить OnKeyListener и вручную проверить на законность. Но это утомительно, и я должен буду обработать различные пограничные случаи.

Шумный

18
задан Buzzy 26 May 2010 в 11:19
поделиться

1 ответ

Попробуйте использовать InputFilter вместо OnKeyListener . Это означает, что вам не нужно беспокоиться об отслеживании нажатия отдельных клавиш, и он также будет обрабатывать такие вещи, как вставка в поле, что было бы болезненно обрабатывать с помощью OnKeyListener .

Вы можете взглянуть на исходный код реализаций InputFilter , которые поставляются с Android, чтобы дать вам отправную точку для написания собственного.

22
ответ дан 30 November 2019 в 07:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: