public abstract class Filter
extends Object
java.lang.Object | |
↳ | android.widget.Filter |
过滤器使用过滤模式来限制数据。
过滤器通常由 Filterable
类创建。
通过调用filter(CharSequence)
或filter(CharSequence, android.widget.Filter.FilterListener)
执行的过滤操作是异步执行的。 当调用这些方法时,过滤请求会发布到请求队列中并在稍后处理。 任何对这些方法之一的调用都将取消任何以前未执行的过滤请求。
也可以看看:
Nested classes |
|
---|---|
interface |
Filter.FilterListener
监听器用于在完成过滤操作后收到通知。 |
class |
Filter.FilterResults
保存过滤操作的结果。 |
Public constructors |
|
---|---|
Filter() 创建一个新的异步过滤器。 |
Public methods |
|
---|---|
CharSequence |
convertResultToString(Object resultValue) 将过滤后的集合中的值转换为CharSequence。 |
final void |
filter(CharSequence constraint) 开始一个异步过滤操作。 |
final void |
filter(CharSequence constraint, Filter.FilterListener listener) 开始一个异步过滤操作。 |
Protected methods |
|
---|---|
abstract Filter.FilterResults |
performFiltering(CharSequence constraint) 根据约束在工作线程中调用以过滤数据。 |
abstract void |
publishResults(CharSequence constraint, Filter.FilterResults results) 在UI线程中调用以在用户界面中发布过滤结果。 |
Inherited methods |
|
---|---|
From class java.lang.Object
|
CharSequence convertResultToString (Object resultValue)
将过滤后的集合中的值转换为CharSequence。 子类应该重写此方法来转换它们的结果。 默认实现返回空值的空字符串或值的默认字符串表示形式。
Parameters | |
---|---|
resultValue |
Object : the value to convert to a CharSequence |
Returns | |
---|---|
CharSequence |
a CharSequence representing the value |
void filter (CharSequence constraint)
开始一个异步过滤操作。 调用此方法将取消所有先前未执行的过滤请求,并发布稍后将执行的新过滤请求。
Parameters | |
---|---|
constraint |
CharSequence : the constraint used to filter the data |
void filter (CharSequence constraint, Filter.FilterListener listener)
开始一个异步过滤操作。 调用此方法将取消所有先前未执行的过滤请求,并发布稍后将执行的新过滤请求。
完成后,通知听众。
Parameters | |
---|---|
constraint |
CharSequence : the constraint used to filter the data |
listener |
Filter.FilterListener : a listener notified upon completion of the operation |
Filter.FilterResults performFiltering (CharSequence constraint)
根据约束在工作线程中调用以过滤数据。 子类必须实现此方法才能执行筛选操作。 通过筛选操作计算的结果必须以Filter.FilterResults
形式返回,然后通过publishResults(CharSequence, android.widget.Filter.FilterResults)
在UI线程中publishResults(CharSequence, android.widget.Filter.FilterResults)
。
合同:约束为空时,必须恢复原始数据。
Parameters | |
---|---|
constraint |
CharSequence : the constraint used to filter the data |
Returns | |
---|---|
Filter.FilterResults |
the results of the filtering operation |
void publishResults (CharSequence constraint, Filter.FilterResults results)
在UI线程中调用以在用户界面中发布过滤结果。 子类必须实现此方法才能显示performFiltering(CharSequence)
计算的结果。
Parameters | |
---|---|
constraint |
CharSequence : the constraint used to filter the data |
results |
Filter.FilterResults : the results of the filtering operation |