前言html
本章内容是 android.widget.Filter,译为"过滤器",版本为Android 2.2 r1,翻译来自"henly.zhang",再次感谢"henly.zhang" !期待你一块儿参与 Android中文API 的翻译,联系我over140@gmail.com。
java
声明android
欢迎转载,但请保留文章原始出处:)
异步
农民伯伯:http://over140.blog.51cto.com/ide
Android中文翻译组:http://code.taobao.org/project/view/404/
函数
正文this
1、结构spa
public abstract class Filter extends Object线程
java.lang.Object翻译
android.widget.Filter
2、概述
过滤器经过过滤模式来约束数据,一般由实现了Filterable接口的子类来生成。 过滤操做是经过调用 filter(CharSequence) 或者 filter(CharSequence, android.widget.Filter.FilterListener)这些异步方法来完成的。以上方法一旦被调用,过滤请求就会被递交到请求队列中等待处理,同时该操做会取消那些以前递交的可是尚未被处理的请求。
3、构造函数
public Filter ()
建立一个新的异步过滤器。
4、公共方法
public CharSequence convertResultToString (Object resultValue)
将受过滤的集合对象转换成CharSequence文本。全部继承了Filter的子类应该重写该方法。该方法的默认实现:若是参数为null则返回空字符串或者返回参数的字符串形式.
参数
resultValue 转换成CharSequence文本的对象
返回值
CharSequence 文本
public final void filter(CharSequence constraint, Filter.FilterListener listener)
启动一个异步的过滤操做。对该方法的调用会取消以前队列中等待处理的过滤请求而且递交新的过滤请求等待执行。完成过滤操做以后,通知监听器。
参数
constraint 过滤数据的约束条件
listener 监听过滤操做完成以后发出的通知
参见
filter(CharSequence)
performFiltering(CharSequence)
publishResults(CharSequence, android.widget.Filter.FilterResults)
public final void filter(CharSequence constraint)
启动一个异步的过滤操做。对该方法的调用会取消以前队列中等待处理的过滤请求而且递交新的过滤请求等待执行。
参数
constraint 过滤数据的约束条件
参见
filter(CharSequence, android.widget.Filter.FilterListener)
5、 受保护方法
protected abstract Filter.FilterResults performFiltering (CharSequence constraint)
根据约束条件调用一个工做线程过滤数据。子类必须实现该方法来执行过滤操做。过滤结果以Filter.FilterResults的形式返回,而后在UI线程中经过publishResults(CharSequence,android.widget.Filter.FilterResults)方法来发布。
约定:当约束条件为null时,原始数据必须被恢复。
参数
constraint 约束条件
返回值
过滤结果
参见
filter(CharSequence, android.widget.Filter.FilterListener)
publishResults(CharSequence, android.widget.Filter.FilterResults)
protected abstract void publishResults (CharSequence constraint, Filter.FilterResults results)
经过调用UI线程在用户界面发布过滤结果。子类必须实现该方法来显示performFiltering(CharSequence)的过滤结果。
参数
constraint 约束条件
results 过滤结果
参见
filter(CharSequence, android.widget.Filter.FilterListener)
performFiltering(CharSequence)
Filter.FilterResults
6、补充
示例代码
未过滤的数据以下图所示:
为过滤器设置约束条件(只显示年龄为22的用户):
TestFilter.java
main.xml
user.xml
结束
再次感谢"henly.zhang"为你们带来优秀的翻译和示例:)