Якщо необхідно заборонити введення в EditText всіх символів, крім зазначених, то ця стаття для Вас. Прикладом даної заборони є поле вводу імені користувача, яке, наприклад, може містити тільки букви і цифри.
Вирішення цього завдання пояснюється на простому прикладі. Припустимо, необхідно дозволити введення лише символів 'a', 'f' і 'g'. Застосуйте наступний фільтр до Вашого EditText'у:
InputFilter customFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence arg0, int arg1, int arg2, Spanned arg3, int arg4, int arg5){
for (int i = arg1; i < arg2; i++) {
if( arg0.charAt(i) != 'a' || arg0.charAt(i) != 'f' || arg0.charAt(i) != 'g' ) ) {
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[]{ customFilter});