Android(安卓)EditText限制输入长度
InputFilter inputFilter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest,
int dstart, int dend) {
// TODO Auto-generated method stub
try {
//转换成中文字符集的长度
int destLen = dest.toString().getBytes(“GB18030″).length;
int sourceLen = source.toString().getBytes(“GB18030″).length;
Log.e(“filter”, String.valueOf(destLen + sourceLen));
//如果超过100个字符
if (destLen + sourceLen > 100) {
return “”;
}
//如果按回退键
if (source.length() < 1 && (dend – dstart >= 1)) {
return dest.subSequence(dstart, dend – 1);
}
//其他情况直接返回输入的内容
return source;
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return “”;
}
};
editText.setFilters(new InputFilters[] {inputFilter});
更多相关文章
- 分支和循环(二)(零基础学习C语言)
- android String资源 包含 数学符号等特殊字符 及 参数占位符
- Android(安卓)将每三个数字加上逗号处理(通常使用金额方面的编辑)
- Android(安卓)汉字的正则表达式
- android中各种数据类型之间转换
- android studio错误: 常量字符串过长
- Android将InputStream转换为String和byte[]
- android类型转换
- 【Android(安卓)开发教程】保存到内部存储设备