资讯专栏INFORMATION COLUMN

Android项目实战(五十二):控制EditText输入内容大小写转换

番茄西红柿 / 893人阅读

摘要:今日需求,内容为一串字符串,要求将用户软键盘输入的小写字母在输入的时候自动转为大写字母,反之亦然。最后解决办法显而易见,该方法是对编辑框内容进行转换的操作。两个字符数组,分别将对应位置的原始字符转换为要求后的字符。

今日需求,EditText内容为一串字符串,要求将用户软键盘输入的小写字母在输入的时候自动转为大写字母,反之亦然。

 

效果如下:

 

第一次做该需求,原先想法:

EditText.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
            }

            @Override
            public void onTextChanged(CharSequence s, int start, int before, int count) {
            }

            @Override
            public void afterTextChanged(Editable s) {
             // 对输入后的内容进行二次处理              
        }
        });
    

对于afterTextChanged回调方法里,对输入的字符串进行大小写转换,结果失败,因为每次转换之后实际就再次回调该方法导致死循环。

 

最后解决办法:

EditText.setTransformationMethod(new ReplacementTransformationMethod() {
                @Override
                protected char[] getOriginal() {
                    char[] originalCharArr = { 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 originalCharArr;
                }

                @Override
                protected char[] getReplacement() {
                    char[] replacementCharArr = { 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 replacementCharArr;
                }
            });

 显而易见,该方法是对编辑框内容进行转换的操作。

 两个字符数组,分别将对应位置的原始字符转换为要求后的字符。

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2576.html

相关文章

  • Android项目实战-博学谷》登录&注册

    摘要:标题栏思路由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在目录下新建一个,选用具体代码如下注册界面思路将图片导入目录下,在包下创建,修改为布局具体代码如 标题栏 思路 由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在...

    Richard_Gao 评论0 收藏0
  • Android项目实战-博学谷》登录&注册

    摘要:标题栏思路由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在目录下新建一个,选用具体代码如下注册界面思路将图片导入目录下,在包下创建,修改为布局具体代码如 标题栏 思路 由于项目中大部分界面都有一个后退键和一个标题栏,为避免代码冗杂以及便于利用,我们可以将后推荐和标题栏单独抽取出来定义一个标题栏布局,在...

    Donald 评论0 收藏0
  • Android项目实战-博学谷》修改密码

    摘要:修改密码界面思路完成了设置部分接着完成设置中的第一个模块修改密码,创建,修改布局为具体代码如下请输入原始密码请输入新密码请再次输入新密码保存改密逻辑思路首先输入的原始密码与从中读取的原始密码必须一致,输入的新密码与原始密码不能相同,再次输 修改密码界面 思路 完成了设置部分接着完成设置中的第一个模块修改密码,创建 ModifyPswActivity ,修改布局为 LinearLayou...

    callmewhy 评论0 收藏0
  • Android项目实战五十三):判断网络连接是否为有线状态(tv项目适配)

    摘要:判断是否有外网连接普通方法不能判断外网的网络是否连接,比如连接上局域网的地址,可以换成任何一种可靠的外网网址次读取的内容,可以不加的状态由此可以对网络状态进行有线的区分一般对于android手机,我们可以通过sdk提供的方法判断网络情况   /** * 获取当前的网络状态 :没有网络-0:WIFI网络1:4G网络-4:3G网络-3:2G网络-2 * 自定义 ...

    android_c 评论0 收藏0
  • Android项目实战-博学谷》设置密保&找回密码

    摘要:设置密保找回密码界面思路由于设置密保和找回密码两个界面十分相似,代码逻辑也十分相似,因此这两个界面可以使用同一个布局文件和同一个来处理,首先导入所需图片资源文件,再创建,将布局改为具体代码如下先将设置密保部分隐藏,您的用户名是请输 设置密保&找回密码界面 思路 由于设置密保和找回密码两个界面十分相似,代码逻辑也十分相似,因此这两个界面可以使用同一个布局文件和同一个 Activity 来...

    binaryTree 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<