在我的应用程序,我想允许用户只输入大写字母。 所以,我用资本属性。
这是一个代码部分
<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"
它工作在模拟器罚款,但它不是在手机工作。 在手机,它显示了小写字母。 什么是错在这里,以及如何克服?
试试这个:
editText.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
并设置的EditText XML属性:
android:inputType="text|textCapCharacters"
希望能帮助到你 :)
尝试在java类这样这个工作:
textView.setText(text.toUpperCase());
你也可以使用Textwatcher方法来应用利用文本改变
为了让从XML你应该尝试这方面的工作:
android:inputType="textCapCharacters"
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
android:inputType="textCapCharacters" />
<EditText
android:inputType="textCapWords" />
或者你可以在Java编程文件做
String str = et.getText.toString().toUpperCase();