Android - Как я могу запустить проверку для поля edittext - PullRequest
4 голосов
/ 11 мая 2011

Мне нужно реализовать поле edittext, которое позволяет пользователю вводить от 20 до 60. Если пользователь вводит число вне диапазона, появится диалоговое окно и вынудит пользователя ввести снова.

Таким образом, средство просмотра текста бесполезно, поскольку оно не может предотвратить ввод пользователем числа, которое меньше 20.

onFocusChangedListener также не является, если пользователь нажимает кнопку «Готово», текст редактирования не теряет фокус, поэтому триггер также не срабатывает.

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

Если у вас есть идеи по этому поводу, пожалуйста, поделитесь со мной.

Большое спасибо.

Ответы [ 3 ]

2 голосов
/ 11 мая 2011

Элвин прав ... это мой код, чтобы сделать что-то с введенным текстом, но это могла бы быть последовательность проверки:

smsMsgBody_editText.addTextChangedListener(new TextWatcher() {
    public void onTextChanged(CharSequence s, int start, int before, int count) {
        // Do something fancy
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { }
    public void afterTextChanged(Editable s) { }
});
1 голос
/ 11 мая 2011

используйте эти

android:maxLength="2" android:numeric="integer"

, тогда, когда вы получите число, например: number.gettext (), вы сделаете проверки, например, если число> 60 и ниже, чем 20, вы можете сделать number.setHint("number no valid");

1 голос
/ 11 мая 2011

Как насчет отслеживания поля EditText с помощью onTextChanged?

...