У меня есть следующая проблема для решения в Android-приложении. У меня есть editText, который должен показывать только числа и буквы «x» и «c», когда клавиатура будет предложена. Это возможно? Спасибо за помощь!Android показать только некоторые символы на клавиатуре
ответ
Уверены, что вы можете с фильтрами с использованием InputFilter.
Вот кусок образца кода:
InputFilter filter = new InputFilter()
{
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend)
{
for (int i = start; i < end; i++)
{
if (Character.isDigit(source.charAt(i)) || (source.charAt(i) == 'x') || (source.charAt(i) == 'c'))
{
return "";
}
}
return null;
}
};
editText.setFilters(new InputFilter[] { filter });
Спасибо за ответ, но это не сработает. Он показывает все символы и фильтры независимо от того, что пользователь вводит. Мне нужно показать (если возможно) только цифры 0-9 и буквы x и c – pabloim1
Невозможно, для этого вам нужно создать собственную клавиатуру или использовать некоторые поля управления. –
Хорошо, спасибо Дарио! – pabloim1
Вы должны построить свою собственную клавиатуру, или вы можете ограничить ввод таким образом:
<EditText
android:inputType="text"
android:digits="0,1,2,3,4,5,6,7,8,9,xc" />
попытка ниже свойств для EditText
android: inputType = "text" android: цифры = "0,1,2,3,4,5,6,7,8,9, *, xc"
проверить это http://stackoverflow.com/questions/23212439/how-to-restrict-the-edittext-to-accept-only-alphanumeric-characters – Androider