Android
android.widget
public class

android.widget.SimpleCursorAdapter

java.lang.Object
android.widget.BaseAdapter ListAdapter SpinnerAdapter
android.widget.CursorAdapter Filterable
android.widget.ResourceCursorAdapter
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
SimpleCursorAdapter.CursorToStringConverter This class can be used by external clients of SimpleCursorAdapter to define how the Cursor should be converted to a String. 
SimpleCursorAdapter.ViewBinder This class can be used by external clients of SimpleCursorAdapter to bind values fom the Cursor to views. 

Summary

Constants inherited from interface android.widget.Adapter

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. 
Fields inherited from class android.widget.CursorAdapter

Public Constructors

            SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
Constructor.

Public Methods

          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.
          CharSequence  convertToString(Cursor cursor)
Returns a CharSequence representation of the specified Cursor as defined by the current CursorToStringConverter.
          SimpleCursorAdapter.CursorToStringConverter  getCursorToStringConverter()
Returns the converter used to convert the filtering Cursor into a String.
          int  getStringConversionColumn()
Return the index of the column used to get a String representation of the Cursor.
          SimpleCursorAdapter.ViewBinder  getViewBinder()
Returns the SimpleCursorAdapter.ViewBinder used to bind data to views.
          void  setCursorToStringConverter(SimpleCursorAdapter.CursorToStringConverter cursorToStringConverter)
Sets the converter used to convert the filtering Cursor into a String.
          void  setStringConversionColumn(int stringConversionColumn)
Defines the index of the column in the Cursor used to get a String representation of that Cursor.
          void  setViewBinder(SimpleCursorAdapter.ViewBinder viewBinder)
Sets the binder used to bind data to views.
          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.
          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.
Methods inherited from class android.widget.ResourceCursorAdapter
Methods inherited from class android.widget.CursorAdapter
Methods inherited from class android.widget.BaseAdapter
Methods inherited from class java.lang.Object
Methods inherited from interface android.widget.Adapter
Methods inherited from interface android.widget.Filterable
Methods inherited from interface android.widget.ListAdapter
Methods inherited from interface android.widget.SpinnerAdapter

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.

Throws

IllegalStateException if binding cannot occur

public CharSequence convertToString(Cursor cursor)

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

public SimpleCursorAdapter.CursorToStringConverter getCursorToStringConverter()

Returns the converter used to convert the filtering Cursor into a String.

Returns

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

public SimpleCursorAdapter.ViewBinder getViewBinder()

public void setCursorToStringConverter(SimpleCursorAdapter.CursorToStringConverter cursorToStringConverter)

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

public void setViewBinder(SimpleCursorAdapter.ViewBinder viewBinder)

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
Copyright 2007 Google Inc. Build 0.9_r1-98467 - 14 Aug 2008 18:48