您的位置:首页 > 其它

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;

}

};

个人推荐第二种方式,效果要比第一种方式好很多!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: