Filter
abstract class Filter
| kotlin.Any | |
| ↳ | android.widget.Filter |
A filter constrains data with a filtering pattern.
Filters are usually created by android.widget.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.
Summary
| Nested classes | |
|---|---|
| abstract |
Listener used to receive a notification upon completion of a filtering operation. |
| open |
Holds the results of a filtering operation. |
| Public constructors | |
|---|---|
Filter()Creates a new asynchronous filter. |
|
| Public methods | |
|---|---|
| open CharSequence! |
convertResultToString(resultValue: Any!)Converts a value from the filtered set into a CharSequence. |
| Unit |
filter(constraint: CharSequence!)Starts an asynchronous filtering operation. |
| Unit |
filter(constraint: CharSequence!, listener: Filter.FilterListener!)Starts an asynchronous filtering operation. |
| Protected methods | |
|---|---|
| abstract Filter.FilterResults! |
performFiltering(constraint: CharSequence!)Invoked in a worker thread to filter the data according to the constraint. |
| abstract Unit |
publishResults(constraint: CharSequence!, results: Filter.FilterResults!)Invoked in the UI thread to publish the filtering results in the user interface. |
Public constructors
Public methods
convertResultToString
open fun convertResultToString(resultValue: Any!): CharSequence!
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 |
Any!: the value to convert to a CharSequence |
| Return | |
|---|---|
CharSequence! |
a CharSequence representing the value |
filter
fun filter(constraint: CharSequence!): Unit
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
fun filter(
constraint: CharSequence!,
listener: Filter.FilterListener!
): Unit
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
protected abstract fun performFiltering(constraint: CharSequence!): Filter.FilterResults!
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 android.widget.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 |
| Return | |
|---|---|
Filter.FilterResults! |
the results of the filtering operation |
publishResults
protected abstract fun publishResults(
constraint: CharSequence!,
results: Filter.FilterResults!
): Unit
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.
| Parameters | |
|---|---|
constraint |
CharSequence!: the constraint used to filter the data |
results |
Filter.FilterResults!: the results of the filtering operation |