Filter


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(java.lang.CharSequence) or filter(java.lang.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:

Summary

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

Object clone()

Creates and returns a copy of this object.

boolean equals(Object obj)

Indicates whether some other object is "equal to" this one.

void finalize()

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.

final Class<?> getClass()

Returns the runtime class of this Object.

int hashCode()

Returns a hash code value for the object.

final void notify()

Wakes up a single thread that is waiting on this object's monitor.

final void notifyAll()

Wakes up all threads that are waiting on this object's monitor.

String toString()

Returns a string representation of the object.

final void wait(long timeoutMillis, int nanos)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait(long timeoutMillis)

Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

final void wait()

Causes the current thread to wait until it is awakened, typically by being notified or interrupted.

Public constructors

Filter

Added in API level 1
public Filter ()

Creates a new asynchronous filter.

Public methods

convertResultToString

Added in API level 1
public 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

filter

Added in API level 1
public final 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

filter

Added in API level 1
public final 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

Protected methods

performFiltering

Added in API level 1
protected abstract 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(java.lang.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

publishResults

Added in API level 1
protected abstract 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