Android EditText Capital Characters

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android EditText Capital Characters相关的知识,希望对你有一定的参考价值。

我有一个edittext,我想要在大写字母中输入edittext中显示的任何字符。我用过这个:

edittext.setInputType(InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);

但它没有用。我想动态地做。有任何想法吗。

答案

黑客的类型,试试这个:

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());
      }
    }
});     

这应该工作(没有时间检查)尝试在afterTextChanged中将行放在onTextChanged中,如果这不起作用..

另一答案

你只需要尝试使用android:inputType属性。

根据您的要求,您可以加入android:inputType="textCapCharacters"

另一答案

在你的editText中尝试这个android:capitalize =“characters”

另一答案
<EditText
        android:id="@+id/editText"
        android:layout_width="fill_parent"
        android:layout_height="30dp"
        android:capitalize="characters"/>
另一答案

为了动态地做:

edittext.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
另一答案
   EditText txt = FindViewById<EditText>(Resource.Id.textView1);
   txt.SetFilters(new Android.Text.IInputFilter[] {
                      new Android.Text.InputFilterAllCaps()
                  });
另一答案

如果没有别的办法,你也可以试试这个

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

将此代码添加到EditText的onTextChangeListener中

以上是关于Android EditText Capital Characters的主要内容,如果未能解决你的问题,请参考以下文章

Android常见控件— — —EditText

Android 键盘隐藏 EditText

Android从零单排系列七《Android视图控件——EditText》

Android从零单排系列七《Android视图控件——EditText》

Android从零单排系列七《Android视图控件——EditText》

android EditText inputType说明