android.widget.SimpleCursorAdapter
An easy adapter to map columns from a cursor to TextViews or ImageViews
defined in an XML file. You can specify which columns you want, which
views you want to display the columns, and the XML file that defines
the appearance of these views.
Binding occurs in two phases. First, if a
SimpleCursorAdapter.ViewBinder is available,
setViewValue(android.view.View, android.database.Cursor, int)
is invoked. If the returned value is true, binding has occured. If the
returned value is false and the view to bind is a TextView,
setViewText(TextView, String) is invoked. If the returned value
is false and the view to bind is an ImageView,
setViewImage(ImageView, String) is invoked. If no appropriate
binding can be found, an IllegalStateException is thrown.
If this adapter is used with filtering, for instance in an
AutoCompleteTextView, you can use the
SimpleCursorAdapter.CursorToStringConverter and the
FilterQueryProvider interfaces
to get control over the filtering process. You can refer to
convertToString(android.database.Cursor) and
runQueryOnBackgroundThread(CharSequence) for more information.
Nested Classes
Summary
Fields
protected |
|
|
int[] |
mFrom |
A list of columns containing the data to bind to the UI. |
protected |
|
|
int[] |
mTo |
A list of View ids representing the views to which the data must be bound. |
Public Constructors
Public Methods
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Fields
protected
int[]
mFrom
A list of columns containing the data to bind to the UI.
protected
int[]
mTo
A list of View ids representing the views to which the data must be bound.
Public Constructors
public
SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
Constructor.
Parameters
context
| The context where the ListView associated with this
SimpleListItemFactory is running |
layout
| resource identifier of a layout file that defines the views
for this list item. Thelayout file should include at least
those named views defined in "to" |
c
| The database cursor |
from
| A list of column names representing the data to bind to the UI |
to
| The views that should display column in the "from" parameter.
These should all be TextViews. The first N views in this list
are given the values of the first N columns in the from
parameter.
|
Public Methods
public
void
bindView(View view, Context context, Cursor cursor)
Binds all of the field names passed into the "to" parameter of the
constructor with their corresponding cursor columns as specified in the
"from" parameter.
Binding occurs in two phases. First, if a
SimpleCursorAdapter.ViewBinder is available,
setViewValue(android.view.View, android.database.Cursor, int)
is invoked. If the returned value is true, binding has occured. If the
returned value is false and the view to bind is a TextView,
setViewText(TextView, String) is invoked. If the returned value is
false and the view to bind is an ImageView,
setViewImage(ImageView, String) is invoked. If no appropriate
binding can be found, an
IllegalStateException is thrown.
Parameters
view
| Existing view, returned earlier by newView |
context
| Interface to application's global information |
cursor
| The cursor from which to get the data. The cursor is already
moved to the correct position.
|
Returns a CharSequence representation of the specified Cursor as defined
by the current CursorToStringConverter. If no CursorToStringConverter
has been set, the String conversion column is used instead. If the
conversion column is -1, the returned String is empty if the cursor
is null or Cursor.toString().
Parameters
cursor
| the Cursor to convert to a CharSequence |
Returns
- a non-null CharSequence representing the cursor
Returns the converter used to convert the filtering Cursor
into a String.
public
int
getStringConversionColumn()
Return the index of the column used to get a String representation
of the Cursor.
Returns
- a valid index in the current Cursor or -1
Sets the converter used to convert the filtering Cursor
into a String.
Parameters
cursorToStringConverter
| the Cursor to String converter, or
null to remove the converter |
public
void
setStringConversionColumn(int stringConversionColumn)
Defines the index of the column in the Cursor used to get a String
representation of that Cursor. The column is used to convert the
Cursor to a String only when the current CursorToStringConverter
is null.
Parameters
stringConversionColumn
| a valid index in the current Cursor or -1 to use the default
conversion mechanism |
Sets the binder used to bind data to views.
Parameters
viewBinder
| the binder used to bind data to views, can be null to
remove the existing binder |
public
void
setViewImage(ImageView v, String value)
Called by bindView() to set the image for an ImageView but only if
there is no existing ViewBinder or if the existing ViewBinder cannot
handle binding to an ImageView.
By default, the value will be treated as an image resource. If the
value cannot be used as an image resource, the value is used as an
image Uri.
Intended to be overridden by Adapters that need to filter strings
retrieved from the database.
Parameters
v
| ImageView to receive an image |
value
| the value retrieved from the cursor
|
public
void
setViewText(TextView v, String text)
Called by bindView() to set the text for a TextView but only if
there is no existing ViewBinder or if the existing ViewBinder cannot
handle binding to an TextView.
Intended to be overridden by Adapters that need to filter strings
retrieved from the database.
Parameters
v
| TextView to receive text |
text
| the text to be set for the TextView
|