public static void lengthFilter(final Context context, final EditText editText, final int max_length, final String err_msg) {
InputFilter[] filters = new InputFilter[1];
filters[0] = new InputFilter.LengthFilter(max_length) {
@Override
public CharSequence filter(CharSequence source, int start, int end,
Spanned dest, int dstart, int dend) {
int destLen = StringUtils.getCharacterNum(dest.toString()); //获取字符个数(一个中文算2个字符)
int sourceLen = StringUtils.getCharacterNum(source.toString());
if (destLen + sourceLen > max_length) {
Toast.makeText(context, err_msg,Toast.LENGTH_SHORT).show();
return "";
}
return source;
}
};
editText.setFilters(filters);
}
附加方法:
/**
* @description 获取一段字符串的字符个数(包含中英文,一个中文算2个字符)
* @param content
* @return
*/
public static int getCharacterNum(final String content) {
if (null == content || "".equals(content)) {
return 0;
}else {
return (content.length() + getChineseNum(content));
}
}
/**
* @description 返回字符串里中文字或者全角字符的个数
* @param s
* @return
*/
public static int getChineseNum(String s) {
int num = 0;
char[] myChar = s.toCharArray();
for (int i = 0; i < myChar.length; i++) {
if ((char)(byte)myChar[i] != myChar[i]) {
num++;
}
}
return num;
}
分享到:
相关推荐
Android EditText 正则表达式 限制数字、字母、字符 输入 密码框
android EditText 限制最大输入字符,是字符不是长度哦
edittext输入超过长度自动缩小文字大小并动态记录可输入文字
Android EditText多行文本输入 字数统计 限制数量
Android限制只能输入中文的EditText,对输入的内容进行监听拦截。
android 里,我们常需要限制向EditText输入的内容,在此,我总结了4中可行的方法,希望可以帮助大家
代码为EditText悬浮文字提示的实例代码,有问题请博客留言:http://blog.csdn.net/seven2729/article/details/48655807
android EditText禁止输入法表情,完美解决表情不能屏蔽的情况,不存在个别表情屏蔽不了的情况,不明白的地方可以参考我的博客。
EditText输入限制,比如只能输入6个汉字或12个英文字母、数字
监听edittext输入的字符长度,可自行添加需要的操作
android 输入框EditText禁止输入Emoji表情符,博客地址:http://blog.csdn.net/elsdnwn/article/details/45390771
自己做的一个自定义控件,里面主要是自定以弹出框,对edittext的回调处理和edittext输入时自动千分位分隔和金额限制
-android搜索历史记录提示,在edittext输入框中输入,会在本地保存,下次输入会自动提示.rar
android EditText跟随键盘弹出,背景不会被顶上去
本文有代码段,并进行详细的注释 和讲解 在开发应用的时候,经常会限制用户输入的字数,比如发表评论或者其它什么的,下面来个简单的demo
Android EditText 禁止emoj表情输入
Android EditText限制输入字符类型的方法总结 前言: 最近的项目上需要限制EditText输入字符的类型,就把可以实现这个功能的方法整理了一下: 1、第一种方式是通过EditText的inputType来实现,可以通过xml或者Java...
由于《android EditText 限制输入的4种方法》版本中,本人有描述错误,但不能删除,故重新修改了重新上传的。请谅解,希望能给你们带来帮助
Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文。 现在总结一下EditText的各种实现方式, 以比较各种方法的优劣。 第一种方式: 设置EditText的inputType属性...
针对EditText输入限制的测试,及对手势识别的测试,要具体使用哪个手势,下次可以直接调用了