Как ограничить текстовое поле Android edit только для некоторых выбранных символов

есть ли способ ограничить пользователей, которым разрешено вводить только некоторый выбранный набор символов (например: A или B или C или D) в макете Android.в XML

4 ответов


использовать digits атрибут, только символы, переданные в digits будет разрешено в EditText.

android:digits="abc123"

и да, "цифры" - это вводящее в заблуждение имя, оно также принимает буквы и символы.


вы можете попробовать это :

   <EditText android:id="@+id/edit_text_id"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:iputType="numbers" />

возможные значения android:inputType атрибут в редактируемом тексте -none, text, textCapCharacters, textCapWords, textCapSentences, textAutoCorrect, textAutoComplete, textMultiLine, textImeMultiLine, textNoSuggestions, textUri, textEmailAddress, textEmailSubject, textShortMessage, textLongMessage, textPersonName, textPostalAddress, textPassword, textVisiblePassword, textWebEditText, textFilter, textPhonetic, textWebEmailAddress, textWebPassword, number, numberSigned, numberDecimal, numberPassword, phone, datetime, date, time


этой android:digit позволит только цифры и алфавиты, которые вы хотите заполнить EditText.

<EditText 
      android:inputType="text" 
      android:digits="0123456789*qwertzuiopasdfghjklyxcvbnm,_,-" 
      android:hint="Only letters, digits, _ and - allowed"
    />

вы можете установить поле EditText следующим образом...

<EditText 
  android:inputType="text" 
  android:digits="THE SELECTED CHARACTERS THAT USERS ARE ALLOWED TO TYPE" 
/>

перечисляя выбранные символы (A,B,C и D), которые пользователи могут вводить в android:цифры, вы ограничиваете возможные символы, которые пользователи могут вводить. Это самый простой способ, которому я научился в процессе поиска.