Android EditText Capital Символы - PullRequest
       11

Android EditText Capital Символы

3 голосов
/ 22 февраля 2012

У меня есть текст редактирования, и я хочу, чтобы любой символ, который я набираю в тексте редактирования, отображался заглавной буквой.Я использовал это:

edittext.setInputType (InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);

Но это не работает.Я хочу сделать это динамически.Любые идеи.

Ответы [ 7 ]

12 голосов
/ 22 февраля 2012

Вам просто нужно попробовать с атрибутом android: inputType .

Согласно вашему требованию, вы можете включить android:inputType="textCapCharacters"

8 голосов
/ 22 февраля 2012

Тип взлома, Попробуйте это:

edittext.addTextChangedListener(new TextWatcher() {

    @Override
    public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {            

    }
        @Override
    public void beforeTextChanged(CharSequence arg0, int arg1, int arg2,
                    int arg3) {             
    }
    @Override
    public void afterTextChanged(Editable arg0) {
          String s=arg0.toString();
      if(!s.equals(s.toUpperCase()))
      {
         s=s.toUpperCase();
         edittext.setText(s);
       edittext.setSelection(s.length());
      }
    }
});     

Это должно сработать (не успеть проверить) попробуйте поместить строки в onTextChanged в afterTextChanged, если это не работает ..

1 голос
/ 01 сентября 2015
   EditText txt = FindViewById<EditText>(Resource.Id.textView1);
   txt.SetFilters(new Android.Text.IInputFilter[] {
                      new Android.Text.InputFilterAllCaps()
                  });
1 голос
/ 10 сентября 2013

Для динамического выполнения:

edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
1 голос
/ 22 февраля 2012
<EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:capitalize="characters"/>
1 голос
/ 22 февраля 2012

Попробуйте это в вашем editText андроид: капитализировать = "символы"

0 голосов
/ 22 февраля 2012

вы можете попробовать это тоже, если больше ничего не работает

String text=editText.getText().toString();
editText.setText(text.toUpperCase());

добавить этот код в onTextChangeListener EditText

...