android setFilters的使用方法

 一般需要限制一个EditText的最大输入字符数,就直接在布局文件里为标签添加maxLength属性就可以了,但是这种方法有的时候并不适用,比如你在代码中为空间又添加了一个InputFilter,这个filter的作用可能是对你输入的字符进行一些格式上的限制,那么这个filter就会使你在布局文件中定义的maxLength失效。这个时候就需要在代码中设置EditText的最大输入字符数。

1.获取控件:

et_vcode = (EditText)view_vcode.findViewById(R.id.EditText_VCode);

2.设置规则:

et_vcode.setFilters();参数是一个InputFilter类型的数组
如果直接添加限制字数的规则,直接newLengthFilter就可以了,例如限制输入最大不超过16位:
et_vcode.setFilters(new InputFilter[]{new InputFilter.LengthFilter(16)});

如果此时你还有另一个规则,例如只能输入a-z的小写字母,直接在InputFilter数组中添加就可以了。
et_vcode.setFilters(new InputFilter[]{codeInputFilter, new InputFilter.LengthFilter(16)});

codeInputFilter继承InputFilter,规则自己定义,重写里面的
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {}
这个方法,返回空字符串,就代表匹配不成功,返回null代表匹配成功

setFilters使用方法相关推荐

  1. android的TextView的TextWatcher使用

    TextWatcher是一个文本变化监听接口,定义了三个接口,分别是beforeTextChanged,onTextChanged,afterTextCahnged. TextWatcher通常与Te ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  3. Java面试题大全2021版

    一.Java 基础 JDK 和 JRE 有什么区别? JDK:Java Development Kit 的简称,java 开发工具包,提供了 java 的开发环境和运行环境. JRE:Java Run ...

  4. 【移动开发】EditText输入字数限制总结(包括中文输入内存溢出的解决方法)...

    限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实 ...

  5. Android开发之限制输入框长度 | 限制EditText输入长度 | 限制AppCompatEditText长度的方法

    直接上代码 package cn.yhsh.keyeventdemo;import android.text.InputFilter; import android.text.Spanned;/*** ...

  6. android设置输入框输入字符限制,Android EditText限制输入字符的方法总结

    Android EditText限制输入字符的方法总结 最近项目要求限制密码输入的字符类型, 例如不能输入中文.   现在总结一下EditText的各种实现方式,  以比较各种方法的优劣. 第一种方式 ...

  7. 关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法

    关于 android 中 edittext 特殊字符过滤和字符长度限制的最优方法 1985 T.于星期四, 07/03/2013 - 20:36提交 在android开发中,经常会碰到edittext ...

  8. Android文本输入框EditText方法说明和属性

    1.EditText输入的文字为密码形式的设置 (1)通过.xml里设置: 把该EditText设为:android:password="true" // 以".&quo ...

  9. android edittext限制字节_EditText输入字数限制的三个方法

    限定EditText输入个数的解决方案很多,但是一般主要考虑两点,也就是处理两件事: (1)不同语言字符(英文.中文等)处理方式 (2)输入字符达到数目后,是否仍然允许用户输入 第一点,涉及的东东其实 ...

最新文章

  1. .NET 11 个 Visual Studio 代码性能分析工具
  2. Java 获取当前时间
  3. python replace函数 成功 失败_请教下调用python string模块的replace方法出错的原因
  4. c++回到起点旅行商问题_不要犯同样的错,提C型房车回渝上牌长途旅行的心路历程...
  5. 下载腾讯视频里的视频_手机腾讯视频如何升级新版本
  6. 终端命令运行php文件路径,PHP -S命令 PHP内置web服务器
  7. 全连接层的输入和输出_理解Web应用程序的本质,网络数据流处理与基础网络连接...
  8. C ++基础 | 格式化输出,文件输入输出(File IO),头文件(Header Files)_3
  9. C++基础巩固getchar 和 getch区别
  10. iso 绝对pe_深度 WinPE 4.2 维护光盘ISO(含U盘PE制作工具) 下载地址
  11. 一场农业“人机”对战,能否凿开农村致富新门路呢?
  12. iOS开发-使用dSYM文件符号化Crash日志
  13. python语言智慧树期末答案_2020智慧树Python语言应用期末答案
  14. NVIDIA ShadowPlay、Record、Highlights的区别
  15. springboot整合xxl-job分布式定时任务【图文完整版】
  16. 贝叶斯推断应用:垃圾邮件过滤
  17. 微服务项目实战-易买网网页(电商)二、MybatisPlus与微服务注册
  18. 按键精灵 打开windows系统应用
  19. java reuse_SO_REUSEADDR和SO_REUSEPORT的行为发生了变化?
  20. C语言求1000以内水仙花数

热门文章

  1. lt li gt html,lt;ligt;...这个符号什么意思,放在中间有什么作用?
  2. [转] Android系统版本号和Android API level对应表
  3. 用vue优雅地编写UI组件的几条指导原则
  4. Nginx(九)-- Nginx实际使用配置
  5. 架构——大师言语汇总
  6. 内核配置中 ramdisk 大小修改
  7. linux下SublimeText的中文输入法问题之解决方案
  8. 给.net程序打内存补丁-转
  9. [转] linux IO
  10. MFC基于TCP协议的CSocket类套接字服务器端代码示范