在我的应用程序中,我有一个edittext,其中用户可以使用字母数字字符串。现在重点是,我希望无论他输入的aplhanumeric或字母字符串应该转换为大写情况。
例如:如果edittext输入如下:
sdhq8273dyp3
在editext中,当用户输入时,应将其转换为captial case
SHHQ8273DYP3
有什么办法吗?如果在XML中我设置属性 android:textAllCaps =" true" 它给我错误。 那么我们如何才能将Editext aplhanumeric角色设为大写。
答案 0 :(得分:4)
尝试
android:capitalize="characters"
android:inputType="textCapCharacters"
在我的情况下这工作正常。
答案 1 :(得分:2)
查看http://developer.android.com/reference/android/widget/TextView.html#attr_android:inputMethod
你可能想要
android:inputMethod="textCapCharacters"
答案 2 :(得分:2)
试试这个 -
android:inputType="textCapCharacters"
您甚至可以在java代码中执行此操作
edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
答案 3 :(得分:2)
android:inputType="textCapCharacters"
edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
这两个可能有用
答案 4 :(得分:2)
你可以在java文件中使用它。
edittext.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
或者你可以使用它是xml
android:inputType="textCapCharacters"
答案 5 :(得分:1)
您也可以通过编程方式进行设置,仅适用于14级及以上的api。在它下面你必须手动实现它。
editText.setInputType(android.text.InputType.TYPE_CLASS_TEXT
+ android.text.InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS);
我找到了你的问题。 android:textAllCaps
用于textview,而不是edittext。见here