牛骨文教育服务平台(让学习变的简单)
博文笔记

EditText 限制只能输入字母和数字,并且字母自动大写

创建时间:2017-09-28 投稿人: 浏览次数:509

原创文章,如有转载,请注明出处:http://blog.csdn.net/myth13141314/article/details/78124068


限制EditText的输入类型需要设置digits属性

<EditText
    android:id="@+id/tv_code"
    style="@style/edt_text"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_marginLeft="4dp"
    android:layout_weight="1"
    android:hint="请输入"
    android:maxLength="17"
  android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"/>

以上设置以后就只能输入数字和大小写的字母了

要将输入的小写字母自动转化为大写字母并显示在EditText上,比较简便的方法是设置EditText的setTransformationMethod

//首先是小写转大写的方法
public class UpperCaseTransform extends ReplacementTransformationMethod {
    @Override
    protected char[] getOriginal() {
        char[] aa = {"a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"};
        return aa;
    }

    @Override
    protected char[] getReplacement() {
        char[] cc = {"A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"};
        return cc;
    }
}

//然后是设置
editText.setTransformationMethod(new UpperCaseTransform());

通过以上设置以后,用户键盘输入小写字母,EditText会转化成大写显示

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。