Как я могу настроить окно редактирования текста, чтобы просто разрешить валюту? - PullRequest
2 голосов
/ 23 января 2011

Я новичок в разработке и только начинаю свое путешествие в непростой мир валидации.До сих пор мне было легко и я смог ограничить тип ввода только этими двумя строками: android: inputType = "phone" android: digits = "1234567890."

Теперь яхочу, чтобы мой пользователь не вводил цифры после двух десятичных знаков.Я думаю, что мне нужно либо работать с InputFilter, либо использовать onTextChange , чтобы проверить использование десятичного знака и цифр после этого (увы, у меня нет ни малейшего понятия, как бы я поступил так же).У меня нет опыта работы с обоими из них, и мне трудно найти примеры в Интернете, которые я могу понять. Если бы кто-то мог сказать мне, с чего начать, это было бы очень полезно, я думаю, что я на правильном пути, ноЯ даже не уверен, как бы я проверял символы, не говоря уже об их ограничении.Любые ответы приветствуются, спасибо.

1 Ответ

2 голосов
/ 23 января 2011

Создайте класс, который реализует TextWatcher

class CurrencyFormatterTextWatcher implements TextWatcher {

   @Override
   public synchronized void afterTextChanged(Editable text) {
        // [...] do your formatting here; beware that each 
        // change to the text value will fire another textchanged event
   }
}

, а затем зарегистрируйте его в качестве прослушивателя для событий с измененным текстом, инициируемых вашим целевым EditText:

currencyFormatter = new CurrencyFormatterTextWatcher();
currencyEditText.addTextChangedListener(currencyFormatter);
...