2015-12-15 1 views
1

У меня есть следующая проблема для решения в Android-приложении. У меня есть editText, который должен показывать только числа и буквы «x» и «c», когда клавиатура будет предложена. Это возможно? Спасибо за помощь!Android показать только некоторые символы на клавиатуре

+0

проверить это http://stackoverflow.com/questions/23212439/how-to-restrict-the-edittext-to-accept-only-alphanumeric-characters – Androider

ответ

1

Уверены, что вы можете с фильтрами с использованием 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

Спасибо за ответ, но это не сработает. Он показывает все символы и фильтры независимо от того, что пользователь вводит. Мне нужно показать (если возможно) только цифры 0-9 и буквы x и c – pabloim1

+0

Невозможно, для этого вам нужно создать собственную клавиатуру или использовать некоторые поля управления. –

+0

Хорошо, спасибо Дарио! – pabloim1

1

Вы должны построить свою собственную клавиатуру, или вы можете ограничить ввод таким образом:

<EditText 
    android:inputType="text" 
    android:digits="0,1,2,3,4,5,6,7,8,9,xc" /> 
1

попытка ниже свойств для EditText

android: inputType = "text" android: цифры = "0,1,2,3,4,5,6,7,8,9, *, xc"

+0

Спасибо Shiva, я, вероятно, воспользуюсь этим решением. Это было не то, что я ожидал, но скрывать персонажей невозможно, так что это лучшее, что я могу сделать. – pabloim1

+0

Пожалуйста, поддержите ответ, если это вам поможет. – Shiva

 Смежные вопросы

  • Нет связанных вопросов^_^