В моем приложении для Android при первом запуске пользователь должен ввести лицензию. Формат лицензии - ###-XXX-###-###
, где #
- это число, X
- это символ. Я поставил формат как подсказку, но этого недостаточно. Как я могу сделать так, и пользователь не вводит - он появляется только после 3 символов?
ОБНОВЛЕНИЕ:
Это мой код, и он работает:
licenseEditText.addTextChangedListener(new TextWatcher() {
public void afterTextChanged(Editable s) {
System.out.println("afterTextChanged");
if (s.length() == 3) {
s.append("-");
}
if (s.length() == 7) {
s.append("-");
}
if (s.length() == 11) {
s.append("-");
}
if (s.length() == 15)
ok.performClick();
}
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
System.out.println("beforeTextChanged");
}
public void onTextChanged(CharSequence s, int start, int before,
int count) {
System.out.println("onTextChanges");
}
});