Android API之android.widget.Filterable

来源:互联网 发布:淘宝货源外国 编辑:程序博客网 时间:2024/04/30 14:48

http://www.cnblogs.com/fengzhblog/p/3182040.html

android.widget.Filterable

定义了一种可过滤的行为。Filterable接口通常有android.widget.Adapter来实现。接口Filterable中有个抽象方法getFilter()需要实现。

Filter android.widget.Filterable.getFilter()

返回一个filter对象,用来过滤出符合某种pattern的数据。getFilter()方法通常在android.widget.Adapter类中实现。

 

android.widget.Filter 
通常是实现Filterable接口来创建Filter对象。方法filter(CharSequence)、filter(CharSequence, FilterListener)实现过滤操作是异步进行的。将一个过滤请求放到请求队列中,在稍候处理。取消上次没有执行的过滤请求。创建一个Filter对象,需要至少实现两个抽象方法:

protected FilterResults performFiltering(CharSequence constraint)

protected void publishResults(CharSequence constraint, FilterResults results)

方法一: 
protected FilterResults performFiltering(CharSequence constraint)

在worker线程中调用,依据constraint来过滤。返回结果,一个FilterResults对象,将通过方法publishResults(Charsequence, FilterResults)在UI线程中发表。

当参数(constraint)为null,恢复为初始的数据。

方法二:

protected void publishResults(CharSequence constraint, FilterResults results)

在UI线程中调用。发表过滤操作的结果显示到UI中。


0 0