我知道这个问题有点老了,但这里解释了如何以不同的方式做到这一点:
在 XML 中应用大写
将以下内容添加到 EditText XML:
android:inputType="textCapCharacters"
将大写字母作为唯一过滤器应用于 Java 中的 EditText
在这里,我们将 UpperCase 过滤器设置为 EditText 的唯一过滤器。请注意,此方法会删除所有先前添加的过滤器。
editText.setFilters(new InputFilter[] {new InputFilter.AllCaps()});
将大写字母添加到 Java 中 EditText 的现有过滤器
要保留 EditText 已经应用的过滤器,比如 inputType、maxLength 等,您需要检索应用的过滤器,将大写过滤器添加到这些过滤器,并将它们设置回 EditText。这是一个示例:
InputFilter[] editFilters = editText.getFilters();
InputFilter[] newFilters = new InputFilter[editFilters.length + 1];
System.arraycopy(editFilters, 0, newFilters, 0, editFilters.length);
newFilters[editFilters.length] = new InputFilter.AllCaps();
editText.setFilters(newFilters);