Android API之android.widget.Filterable
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中。
Android API之android.widget.Filterable的更多相关文章
- 【Android API】Android 4.1 API官方文档详解
原文:http://android.eoe.cn/topic/summary 翻译:[eoeAndroid原创团队]kris.流风而逝.贼寇在何方.snowxwyo.lsy4833406 更新日期:2 ...
- Android API之android.content.BroadcastReceiver
android.content.BroadcastReceiver Base class for code that will receive intents sent by sendBroadcas ...
- Android API之android.provider.ContactsContract.RawContacts
android.provider.ContactsContract.RawContacts Constants for the raw contacts table, which contains o ...
- Android API之android.provider.ContactsContract
android.provider.ContactsContract ContactsContract是联系人provider和app的contract.定义了已支持的URL和column.取代了之前的 ...
- Android API之android.os.Parcelable
android.os.Parcelable Interface for classes whose instances can be written to and restored from a Pa ...
- Android API之android.content.AsyncQueryHandler
android.content.AsyncQueryHandler A helper class to help make handling asynchronous ContentResolver ...
- Android API之android.provider.ContactsContract.Data
android.provider.ContactsContract.Data Constants for the data table, which contains data points tied ...
- Android API之android.provider.ContactsContract.Contacts
android.provider.ContactsContract.Contacts 对应contacts数据表.RawContacts的一个聚合(aggregate)代表同一个人.每个人在数据表co ...
- Android API之android.view.View.MeasureSpec
android.view.View.MeasureSpec MeasureSpec是View的内部类 public static class MeasureSpec MeasureSpec封装从par ...
随机推荐
- Myeclipse设置快捷键
快捷键中把我们习惯性使用的Alt+/进行代码自动补齐的快捷键改为了ctrl+空格,大家知道这是切换中英文输入法的键,所以需要更改这个快捷键, 1.选择MyEclipse6.0菜单栏中的Window-& ...
- 从PSD到HTML,网页的实现
在学习完<From PSD to HTML: Building a Set of Website Designs Step by Step>之后,使我对网页的设计和实现有了更深入的认识,我 ...
- 环境变量篇getenv putenv setenv
getenv(取得环境变量内容) 相关函数 putenv,setenv,unsetenv 表头文件 #include<stdlib.h> 定义函数 char * getenv(const ...
- Windows 7系统垃圾清理自写程序
系统清理.bat @echo off color 0a title windows7系统垃圾清理--- echo ★☆ ★☆ ★☆ ★☆ ★☆★☆★☆ ★☆ ★☆ ★☆ ★☆★ echo ★☆ ★☆ ...
- longest-substring-with-at-least-k-repeating-characters
https://leetcode.com/problems/longest-substring-with-at-least-k-repeating-characters/ public class S ...
- design-twitter
https://leetcode.com/problems/design-twitter/ class Twitter { unordered_map<int, set<int> & ...
- go语言基础之map介绍和使用
1.map介绍 Go语言中的map(映射.字典)是一种内置的数据结构,它是一个无序的key—value对的集合,比如以身份证号作为唯一键来标识一个人的信息. 2.map示例 map格式为: map[k ...
- c++call back
#include "stdafx.h" struct A; typedef void(A::*MemFuncPtr) (int* e); class A { int a; }; c ...
- Node.js中的HTTPS示例
需要openssl的支持, openssl本身不提供windows的安装程序,可以按照如下的步骤进行安装: (参考https://conetrix.com/Blog/how-to-install- ...
- 破解无线网络密码-BT3如何使用2
本教程只作学习和交流使用,任何其它商用与本人无关, 在开始教程之前, 首先需要用到几个软件,感兴趣的朋友看完贴子后可以去百度搜一下下载地址, 虚拟机: VMware Workstation 6.5 正 ...