public
abstract
class
Filter
extends Object
java.lang.Object | |
↳ | android.widget.Filter |
A filter constrains data with a filtering pattern.
Filters are usually created by Filterable
classes.
Filtering operations performed by calling filter(CharSequence)
or
filter(CharSequence, android.widget.Filter.FilterListener)
are
performed asynchronously. When these methods are called, a filtering request
is posted in a request queue and processed later. Any call to one of these
methods will cancel any previous non-executed filtering request.
See also:
Nested classes | |
---|---|
interface |
Filter.FilterListener
Listener used to receive a notification upon completion of a filtering operation. |
class |
Filter.FilterResults
Holds the results of a filtering operation. |
Public constructors | |
---|---|
Filter()
Creates a new asynchronous filter. |
Public methods | |
---|---|
CharSequence
|
convertResultToString(Object resultValue)
Converts a value from the filtered set into a CharSequence. |
final
void
|
filter(CharSequence constraint)
Starts an asynchronous filtering operation. |
final
void
|
filter(CharSequence constraint, Filter.FilterListener listener)
Starts an asynchronous filtering operation. |
Protected methods | |
---|---|
abstract
Filter.FilterResults
|
performFiltering(CharSequence constraint)
Invoked in a worker thread to filter the data according to the constraint. |
abstract
void
|
publishResults(CharSequence constraint, Filter.FilterResults results)
Invoked in the UI thread to publish the filtering results in the user interface. |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
CharSequence convertResultToString (Object resultValue)
Converts a value from the filtered set into a CharSequence. Subclasses should override this method to convert their results. The default implementation returns an empty String for null values or the default String representation of the value.
Parameters | |
---|---|
resultValue |
Object :
the value to convert to a CharSequence |
Returns | |
---|---|
CharSequence |
a CharSequence representing the value |
void filter (CharSequence constraint)
Starts an asynchronous filtering operation. Calling this method cancels all previous non-executed filtering requests and posts a new filtering request that will be executed later.
Parameters | |
---|---|
constraint |
CharSequence :
the constraint used to filter the data |
void filter (CharSequence constraint, Filter.FilterListener listener)
Starts an asynchronous filtering operation. Calling this method cancels all previous non-executed filtering requests and posts a new filtering request that will be executed later.
Upon completion, the listener is notified.
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)
Invoked in a worker thread to filter the data according to the
constraint. Subclasses must implement this method to perform the
filtering operation. Results computed by the filtering operation
must be returned as a Filter.FilterResults
that
will then be published in the UI thread through
publishResults(CharSequence, android.widget.Filter.FilterResults)
.
Contract: When the constraint is null, the original data must be restored.
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)
Invoked in the UI thread to publish the filtering results in the
user interface. Subclasses must implement this method to display the
results computed in performFiltering(CharSequence)
.
Parameters | |
---|---|
constraint |
CharSequence :
the constraint used to filter the data |
results |
Filter.FilterResults :
the results of the filtering operation |