У меня есть EditTextPreference с фильтром для ограничения его размера, например:
pref.setOnBindEditTextListener(new EditTextPreference.OnBindEditTextListener() {
@Override
public void onBindEditText(@NonNull EditText editText) {
editText.setFilters(new InputFilter[] { new InputFilter.LengthFilter(10)});
}
});
Я также хочу ограничить его приемом только букв (не только a-zA-Z, так как приложение принимает более одного языка). Как я могу go сделать это?
Я уже пробовал много фильтров, в том числе все те, которые предложены в этих вопросах и аналогичные:
В поле EditText принимаются только буквы и пробелы в Android
Edittext допускает только буквы (программно)
С фильтрами, подобными тем, когда вводится число, а затем буква, У меня возникают такие проблемы, как:
- весь текст исчезает
- весь текст дублируется
- дублируются последние несколько символов
Я также попытался изменить XML, добавив и android:digits
, но независимо от того, что это вообще не ограничивает ввод.
Каждые inputType
, которые я пытался до сих пор, не ограничивают клавиатуру только буквами.
РЕДАКТИРОВАТЬ: Я понял, ответ ниже.