android - 在Android EditText中,如何强制写大写?

标签 android android-edittext uppercase

在我的 Android 应用程序中,我有不同的 EditText 用户可以在其中输入信息。但我需要强制用户用大写字母书写。 你知道这样做的功能吗?

最佳答案

Android 实际上有一个 built-in InputFilter just for this !

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

小心,setFilters 将重置通过 XML 设置的所有其他属性(即 maxLinesinputType ,imeOptinos...)。为防止这种情况发生,请将您的过滤器添加到现有的过滤器中。

InputFilter[] editFilters = <EditText>.getFilters();
InputFilter[] newFilters = new InputFilter[editFilters.length + 1];
System.arraycopy(editFilters, 0, newFilters, 0, editFilters.length);
newFilters[editFilters.length] = <YOUR_FILTER>;  
<EditText>.setFilters(newFilters);

关于android - 在Android EditText中,如何强制写大写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15961813/

相关文章:

java - 从独立 native 代码调用 java 代码

android - 在 Gingerbread 中实现拖放

Android Bug,单击 EditText 键盘完成后 RecyclerView 打开全键盘

python - 即使用户以小写字母输入,如何以大写字母获取用户输入?

c - c中的大写字符

android - ListView.setBackgroundDrawable(null) 后不显示 ListView 滚动条

android - 更改由 status.startResolutionForResult 创建的对话框标题

android - 当我改变屏幕方向时,Edittext 消失了吗?

android - 自定义编辑带边框的文本

c - 为什么加密代码给出问号,而文本中包含 s 后面的字母, key 是 13?