如何在android中的大写情况下制作字母数字editext

时间:2015-05-18 06:25:50

标签: android

在我的应用程序中,我有一个edittext,其中用户可以使用字母数字字符串。现在重点是,我希望无论他输入的aplhanumeric或字母字符串应该转换为大写情况。 例如:如果edittext输入如下:

  

sdhq8273dyp3

在editext中,当用户输入时,应将其转换为captial case

  

SHHQ8273DYP3

有什么办法吗?如果在XML中我设置属性 android:textAllCaps =" true" 它给我错误。 那么我们如何才能将Editext aplhanumeric角色设为大写。

6 个答案:

答案 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