当前位置: 首页 > 编程笔记 >

InputFilter实现EditText文本输入过滤器实例代码解析

单于海荣
2023-03-14
本文向大家介绍InputFilter实现EditText文本输入过滤器实例代码解析,包括了InputFilter实现EditText文本输入过滤器实例代码解析的使用技巧和注意事项,需要的朋友参考一下

 EditText是Android的文本输入框控件,这地球人应该都知道的了,但是默认的EditText是无所不能输入的,有时候我们需要设计一 款软件,而且是给小孩子使用的,而且需要屏蔽以下未成年人所不能涉及的内容,也就是屏蔽某些所不能输入的文字的时候,该如何做呢?

其实Android的SDK早已经为我们想过这个问题了,它为我们提供了一个叫做InputFilter的东西,通过它我们可以轻松的设计一个过滤器,用于屏蔽用户的某些输入,或者将输入改成某些良性的内容,从而解决了以上的问题。

实现InputFilter过滤器,需要覆盖一个叫filter的方法。

public abstract CharSequence filter ( 
CharSequence source, //输入的文字 
int start, //开始位置 
int end, //结束位置 
Spanned dest, //当前显示的内容 
int dstart, //当前开始位置 
int dend //当前结束位置 
);

以下实现的InputFilter为无论输入什么内容,都被自动替换成“ATAAW.COM”。

editText.setFilters(new InputFilter[] { 
new InputFilter() { 
public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) { 
return src.length() < 1 ? dst.subSequence(dstart, dend) : "ATAAW.COM"; 
} 
} }); 

由以上实例我们可以实现这样一个功能,让EditText控件无法输入任何内容,如何做呢?只需要将以上的“ATAAW.COM”替换成“”即可,每次输入都等于没输入任何内容。

此处在添加个我用的不多,容易忘的两个api:

indexOf()的用法:

返回字符中indexof(string)中字串string在父串中首次出现的位置,

比如:String ss = "1111.';

int index = ss .indexOf(".");

index的值为4; //从0开始

substring用法:

str=str.substring(int beginIndex);截取掉str从首字母起长度为beginIndex的字符串,将剩余字符串赋值给str;
str=str.substring(int beginIndex,int endIndex);截取str中从beginIndex开始至endIndex结束时的字符串,并将其赋值给str;

比如:

String s1 ="1234567890abcdefgh";
s1 = s1.substring(10);

s1的值为:abcdefgh

String s1 ="1234567890abcdefgh";
s1 = s1.substring(0,9);
System.out.println(s1);

s1的值为:123456789

以上所述是小编给大家介绍的 InputFilter实现EditText文本输入过滤器实例代码解析,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的支持!

 类似资料:
  • 本文向大家介绍Spring MVC过滤器-登录过滤的代码实现,包括了Spring MVC过滤器-登录过滤的代码实现的使用技巧和注意事项,需要的朋友参考一下 一个非常简单的登录权限拦截器,具体代码如下: 以下代码是继承OncePerRequestFilter实现登录过滤的代码: 写完过滤器后,需要在web.xml中进行配置: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教

  • 本文向大家介绍js实现select组件的选择输入过滤代码,包括了js实现select组件的选择输入过滤代码的使用技巧和注意事项,需要的朋友参考一下 实现select组件的选择输入过滤作用的js代码如下:

  • 本文向大家介绍Android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入的实例代码,包括了Android listview ExpandableListView实现多选,单选,全选,edittext实现批量输入的实例代码的使用技巧和注意事项,需要的朋友参考一下 最近在项目开发中,由于项目的需求要实现一些列表的单选,多选,全选,批量输入之

  • 本文向大家介绍Vue实现自带的过滤器实例,包括了Vue实现自带的过滤器实例的使用技巧和注意事项,需要的朋友参考一下 一 过滤器写法 二 Vue自带的过滤器:capitalize 功能:首字母大写 上面代码输出:Abc 三 Vue自带的过滤器:uppercase 功能:全部大写 上面代码输出:ABC  四 Vue自带的过滤器:uppercase 功能:全部小写 上面代码输出:abc  五 Vue自带

  • 本文向大家介绍实例解析angularjs的filter过滤器,包括了实例解析angularjs的filter过滤器的使用技巧和注意事项,需要的朋友参考一下 现在公司用ionic,就是基于angularjs封装了一些api用于webapp,最近用的angularjs的filter确实省了很多代码,现在总结一下! ng比较鸡肋的过滤器,这里就一笔带过吧!鸡汤类常用的filter后面上例子。 lower

  • 本文向大家介绍Android实现常见的验证码输入框实例代码,包括了Android实现常见的验证码输入框实例代码的使用技巧和注意事项,需要的朋友参考一下 前言 验证码输入框是很多APP必不可少的组件,之前在重构注册登录页面的时候,重新设计了UI,所以不能再简单的用EditText来做了,所以这篇文章将分享一下如何实现一个常见的验证码输入框。下面话不多说了,来一起看看详细的介绍吧。 正文 先搂一眼效果