Edittext添加自定义过滤器
来源:互联网 发布:淘宝购物津贴有什么用 编辑:程序博客网 时间:2024/05/21 15:40
以限制字符长度为例 private class LengthFilter implements InputFilter { private final int mMax; public LengthFilter(int max) { //限制字符最大长度 mMax = max; } /** * @param source 将插入的字符 * * @param start 将插入的字符开始位 * * @param end 将插入的字符结束位 * * @param dest 已经插入的字符 * * @param dstart 将插入原有字符的开始位 * * @param dend 将插入原有字符的结束位 * * @return */ public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { String trim = dest.toString().trim(); //去除空格 int keep; //计算去除空格后的文字长度 if (source.toString().trim().length() != 0) { int i = dest.toString().indexOf(trim); keep = mMax - (dest.length() - i + 1); } else { if (dest.subSequence(0, dstart).toString().trim().length() == 0 || dest.subSequence(dstart, dest.length()).toString().trim().length() == 0) { keep = mMax - trim.length(); } else { keep = mMax - trim.length() - 1; } } //判断字符长度是否符合限制要求 return""代表行限制不允许插入 return null代表不进行限制 if (keep <= 0) { ToastUtils.show(getString(R.string.title_length_eighteen)); return ""; } else if (keep >= end - start) { return null;// keep original } else { //判断是否是特殊字符 keep += start; if (Character.isHighSurrogate(source.charAt(keep - 1))) { --keep; if (keep == start) { return ""; } } return source.subSequence(start, keep); } } } // 在代码中引用该规则 //获取edittext中原有的过滤规则 InputFilter[] filters = edPostTitle.getFilters(); //因为他是一个数组无法增加它的大小就重新定义一个数组进行添加 InputFilter[] filters1 = new InputFilter[filters.length + 1]; for( int i = 0; i<filters.length;i++) { filters1[i] = filters1[i]; } filters1[filters1.length -1]=new LengthFilter(18); //最后将过滤插入到edittext中 edPostTitle.setFilters(filters1);}
阅读全文
1 0
- Edittext添加自定义过滤器
- 用edittext做自定义listview搜索过滤器
- Android自定义EditText添加图片
- EditText过滤器
- 自定义控件EditText,添加收件人效果
- android自定义View之自定义EditText(添加删除功能)
- Android自定义View之自定义EditText(添加删除功能)
- android自定义View之自定义EditText(添加删除功能)
- InputFilter EditText的过滤器
- 根据下拉框排序,自定义过滤器,添加,查询等操作
- 过滤器与自定义过滤器
- angular过滤器、自定义过滤器
- EditText自定义
- 自定义EditText
- 自定义EditText
- 自定义EditText
- 自定义EditText
- 自定义EditText
- 04-BFC 和 Margin Collapse
- [LeetCode]376. Wiggle Subsequence
- spark 集群搭建*(3节点)
- RXJava从入门到熟练
- 用Linux shell脚本爬取豆瓣邮箱
- Edittext添加自定义过滤器
- greendao操作数据库升级导致表数据丢失
- java菜鸟---------用java写的汉诺塔问题程序
- AndroidStudio 查看Framework代码
- Remove Duplicates from Sorted Array
- 关于spring与springmvc的依赖注入的思考.
- 正则表达式(一) 匹配原理/贪婪与非贪婪
- 在使用Androidstudio打包签名apk文件时,Signature Versions V1(Jar Signature) V2(Full APK Signature)选项
- bootstrap-table简单应用