EditText 输入字母自动大写问题
来源:互联网 发布:淘宝详情代码生成器 编辑:程序博客网 时间:2024/05/18 19:21
今天写项目的时候,在自测的时候,操作一个 EditText 输入内容为字母和数字,并且字母全部自动大写的时候突然就停止运行了。
错误提示:
网上查阅一些资料发现,android:textAllCaps 属性是只支持 TextView 的,
EditText 是需要通过 inputType 属性来控制的
android:inputType="textCapCharacters"
但是我在测试之后,发现 EditText的这个属性并没起到作用。
最终,只能自己去控制 输入内容转换大写了。
布局文件如下:
<EditText android:id="@+id/edit_text" android:layout_width="match_parent" android:layout_height="28dp" android:background="@color/white" android:digits="qwertyuioplkjhgfdsazxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM1234567890" android:gravity="center_vertical" android:hint="请输入" android:maxLines="1" android:textColor="#4a4a4a" android:textColorHint="#cbcacb" android:textSize="14sp" />
因为我这里需要控制只能输入字母和数字,所以我用 digits 直接去限制能输入的字符。然后,输入内容控制了,下面该去控制让它自动转换为 大写字母了,代码通过 addTextChangedListener 来监听输入状态:
edit_text.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) { // 先移除当前监听,避免死循环。 edit_text.removeTextChangedListener(this); String string = edit_text.getText().toString().toUpperCase(); edit_text.setText(string); edit_text.setSelection(string.length());// 让光标定位最后位置。 //操作完当前显示内容之后,再添加监听。 edit_text.addTextChangedListener(this); } });
这里因为自己的知识点不够全面,所以有其他处理方式的话,也请各位指点一下。
0 0
- EditText 输入字母自动大写问题
- EditText 输入字母自动转换为大写
- 怎么设置输入的EditText字母自动大写
- EditText当手机输入小写字母时自动转为大写
- android EditText 输入字母时小写自动转为大写
- android edittext输入小写字母自动转大写
- EditText 限制只能输入字母和数字,并且字母自动大写
- 输入小写字母自动变为大写,反之亦然
- EditeText输入字母自动转大写
- 输入的字母自动转为大写
- Android输入框限制字符长度,字母自动大写
- EditText 限制 只输入大写字母,自动小写转大写
- 输入一个小写字母 自动输入这个小写字母前面和后面的大写和小写字母
- 解决Android Button 字母自动全部大写的问题
- 解决Android Button 字母自动全部大写的问题
- 文本框输入字母转大写
- HTML、angularjs、页面输入框里输入字母自动转换为大写
- 布局文件字母自动大写
- 我人生的第一个bug
- 001.Shell脚本数据库备份
- win10 安装MSCOMM控件
- 自己的APP访问局域网内的pc服务器
- C++开发面试题:取地址符数组名与数组名
- EditText 输入字母自动大写问题
- jquery中的dom属性 总结
- Android加密算法之对称加密AES
- linux系统的优缺点
- **Android** 基础(一)
- Hadoop集群完全分布式模式环境部署
- 刷机
- ipryjzxkyhkzybj
- L1-010. 比较大小