Я пытаюсь ограничить ввод пользователя. Если пользователь вводит последовательные цифры, например, такие как 1232334, и последовательные специальные символы, например, @ @ $ $ & # @ $ *. Но это позволит пользователю вводить порядковые числа, такие как 1-й, 2-й и т. Д. А также это позволит Иоанну 13:12. Тип стиха.Android ограничить ввод пользователя
Это то, что я пробовал: (я InputFilter)
InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
// TODO Auto-generated method stub
for (int i = start; i < end; i++) {
if (!Character.isLetterOrDigit(source.charAt(i))) {
return "";
}
}
return null;
}
};
et.setFilters(new InputFilter[]{filter});
Но это не позволит мне вводить специальные символы, и он может принимать последовательные цифры. Кто-нибудь знает, как достичь моих требований? Ваш очень ценится. Благодарю.
Использование InputFilter, по-видимому, определенно способ сделать это. Чтобы определить допустимые комбинации данных, я бы попытался использовать регулярные выражения. Я не полностью понял ваше описание разрешенных входных данных, поэтому я не могу вам помочь. –
@ HansHohenfeld привет спасибо за ваш немедленный ответ, как я уже сказал, я хотел бы ограничить последовательные отрывки и специальные символы пользователя. Это недопустимо: 1231414 $ @ # (@) (@ #. Только допустимые входные данные: 1, 2, Иоанн 14:18 – Dunkey
@ Donkey - это фиксированные значения? Или шаблоны, т. Е. 3-й, 13-й или Ганс 09 : 21 также разрешено? –