Android的学习笔记——EditText字符串过滤器InputFilter
来源:互联网 发布:视知传媒 编辑:程序博客网 时间:2024/05/17 07:53
在Android开发过程中,一直都习惯用xml的digits来过滤EditText的特殊字符,但当用代码去set DigitsKeyListener的时候就会发现,set完后出来的键盘会是数字键盘。
经过阅读Android的源码,发现DigitsKeyListener其实专门为了过滤数字而设计的,而过滤字符应该实现InputFilter接口。
而Android源码里面唯一实现了InputFilter并且不是专门为了过滤数字的类,只有LoginFilter和LoginFilter的子类。而LoginFilter的构造函数是不公开的,所以我们可以通过重写LoginFilter的子类的isAllowed方法,轻松地达到代码过滤EditText字符串的目的。
具体实现如下:
public class MyInputFilter extends UsernameFilterGMail { public MyInputFilter() { super(); } @Override public boolean isAllowed(char c) { // Allow [a-zA-Z0-9@.] if ('0' <= c && c <= '9') return true; if ('a' <= c && c <= 'z') return true; if ('A' <= c && c <= 'Z') return true; return false; }}
然后把过滤器set进EditText。
MyInputFilter filter= new MyInputFilter();editText.setFilters(new InputFilter[] { filter });
0 0
- Android的学习笔记——EditText字符串过滤器InputFilter
- Android开发之EditText字符串过滤器InputFilter
- InputFilter EditText的过滤器
- 输入过滤器——InputFilter
- 理解EditText的InputFilter
- InputFilter实现EditText文本输入过滤器
- InputFilter实现EditText文本输入过滤器
- InputFilter实现EditText文本输入过滤器
- InputFilter实现EditText文本输入过滤器
- InputFilter实现EditText文本输入过滤器
- android edittext InputFilter 输入控制
- Android-- EditText与InputFilter实现文本对比
- Android-- EditText与InputFilter实现文本对比
- Android学习笔记02——EditText
- AndroidUI——InputFilter的使用(1)
- AndroidUI——InputFilter的使用(2)
- AndroidUI——InputFilter的使用(3)
- Android EditText 学习笔记
- 没有杜拉拉的奇遇但是可以有程序员的安稳
- Median of Two Sorted Arrays -- LeetCode
- iOS ARC的使用
- arch/arm/kernel下的vmlinux.lds的生成
- windows程序设计 匈牙利命名法
- Android的学习笔记——EditText字符串过滤器InputFilter
- 求两个数的最大公约数
- 第二章第13题
- Hadoop作业提交多种方案具体流程详解
- 随机森林
- 算法篇-蛇形矩阵
- 前端实习生面经
- Linux下静态库_库的基本概念;如何生成静态库动态库;nm查看库中包含那些函数、ar生成静态库,查看库中包含那些.o文件、ldd查看程序依赖的.so文件;gcc/g++与库相关的参数-L,-l,-f
- 如何利用Cocos2d-x开发一个游戏?