Android的大写字符的手机不能正常工作(Android Capitalize character

2019-08-17 17:55发布

在我的应用程序,我想允许用户只输入大写字母。 所以,我用资本属性。

这是一个代码部分

<EditText
    android:id="@+id/et5"
    android:layout_width="140dp"
    android:layout_height="wrap_content"
    android:layout_x="127dp"
    android:layout_y="219dp"
    android:maxLength="25"
    android:ems="10"
    android:singleLine="true"
    android:capitalize="characters"
    android:text="" />

在某些情况下,我也试过这个

android:inputType="textCapCharacters"

它工作在模拟器罚款,但它不是在手机工作。 在手机,它显示了小写字母。 什么是错在这里,以及如何克服?

Answer 1:

试试这个:

editText.setFilters(new InputFilter[] {new InputFilter.AllCaps()});

并设置的EditText XML属性:

android:inputType="text|textCapCharacters"

希望能帮助到你 :)



Answer 2:

尝试在java类这样这个工作:

textView.setText(text.toUpperCase());

你也可以使用Textwatcher方法来应用利用文本改变

为了让从XML你应该尝试这方面的工作:

android:inputType="textCapCharacters" 


Answer 3:

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


Answer 4:

试试这个

<EditText
android:inputType="textCapCharacters" />


<EditText
android:inputType="textCapWords" />

或者你可以在Java编程文件做

 String str = et.getText.toString().toUpperCase();


文章来源: Android Capitalize characters not working in phone