EditeText输入字母自动转大写
2015-05-06 10:22
162 查看
实现 EditeText输入字母自动转为大写的两种方式:
方法一 通过editText.addTextChangedListener添加监听器进行修改
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
view.removeTextChangedListener(this);// 解除文字改变事件
view.setText(s.toString().toUpperCase());// 转换
view.setSelection(s.toString().length());// 重新设置光标位置
view.addTextChangedListener(this);// 重新绑
default:
break;
}
方法二:
通过Filter 实现 EditText输入框 所有字母大写 ,第一个参数控制大写 ,第三个参数控制输入字符长度, 要比添加
editTextView.setFilters(new InputFilter[] { alphaNumericFilter, new InputFilter.AllCaps(),new InputFilter.LengthFilter(17) });
// 输入框中只允许输入大写字母与数字
InputFilter alphaNumericFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence arg0, int arg1, int arg2, Spanned arg3, int arg4, int arg5) {
for (int k = arg1; k < arg2; k++) {
if (!Character.isLetterOrDigit(arg0.charAt(k))) {
return "";
}
}
return null;
}
};
个人推荐第二种方式,效果要比第一种方式好很多!
方法一 通过editText.addTextChangedListener添加监听器进行修改
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
view.removeTextChangedListener(this);// 解除文字改变事件
view.setText(s.toString().toUpperCase());// 转换
view.setSelection(s.toString().length());// 重新设置光标位置
view.addTextChangedListener(this);// 重新绑
default:
break;
}
方法二:
通过Filter 实现 EditText输入框 所有字母大写 ,第一个参数控制大写 ,第三个参数控制输入字符长度, 要比添加
editTextView.setFilters(new InputFilter[] { alphaNumericFilter, new InputFilter.AllCaps(),new InputFilter.LengthFilter(17) });
// 输入框中只允许输入大写字母与数字
InputFilter alphaNumericFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence arg0, int arg1, int arg2, Spanned arg3, int arg4, int arg5) {
for (int k = arg1; k < arg2; k++) {
if (!Character.isLetterOrDigit(arg0.charAt(k))) {
return "";
}
}
return null;
}
};
个人推荐第二种方式,效果要比第一种方式好很多!
相关文章推荐
- 在PL/SQL中输入SQL语句时关键字的首字母自动变成大写
- 怎么设置输入的EditText字母自动大写
- EditText 限制只能输入字母和数字,并且字母自动大写
- EditText 输入字母自动大写问题
- EditText 输入字母自动转换为大写
- 输入的字母自动转为大写
- android Editext限制输入数字和字母以及将小写自动转换成大写的方法
- HTML、angularjs、页面输入框里输入字母自动转换为大写
- 输入一个小写字母 自动输入这个小写字母前面和后面的大写和小写字母
- android EditText 输入字母时小写自动转为大写
- 输入小写字母自动变为大写,反之亦然
- 输入一个字符若是大写自动转换成小写(使用条件运算符来)
- Java入门小程序,使用Java转换用户输入字母为大写如何避开中文?
- 任意输入一个小写字母,求出其后面的第四个字母,并转换成大写
- UltraEdit FAQ UltraEdit首字母自动变大写问题
- Android:解决“按钮 Button设置文字String 含字母时 字母默认自动转为大写字符串” 问题
- 输入汉字,得到汉字的大写首字母
- HTML文本框录入字母自动大写
- 3. 串的处理 在实际的开发工作中,对字符串的处理是最常见的编程任务。 本题目即是要求程序对用户输入的串进行处理。具体规则如下: 1. 把每个单词的首字母变为大写。 2. 把数字与
- Android EditTextView 设置输入英文字母全部大写