SimpleCursorTreeAdapter

public abstract class SimpleCursorTreeAdapter
extends ResourceCursorTreeAdapter

java.lang.Object
   ↳ android.widget.BaseExpandableListAdapter
     ↳ android.widget.CursorTreeAdapter
       ↳ android.widget.ResourceCursorTreeAdapter
         ↳ android.widget.SimpleCursorTreeAdapter


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. Separate XML files for child and groups are possible. Binding occurs in two phases. First, if a SimpleCursorTreeAdapter.ViewBinder is available, ViewBinder#setViewValue(android.view.View, android.database.Cursor, int) is invoked. If the returned value is true, binding has occurred. If the returned value is false and the view to bind is a TextView, setViewText(android.widget.TextView, java.lang.String) is invoked. If the returned value is false and the view to bind is an ImageView, setViewImage(android.widget.ImageView, java.lang.String) is invoked. If no appropriate binding can be found, an IllegalStateException is thrown.

Summary

Nested classes

interface SimpleCursorTreeAdapter.ViewBinder

This class can be used by external clients of SimpleCursorTreeAdapter to bind values from the Cursor to views. 

Public constructors

SimpleCursorTreeAdapter(Context context, Cursor cursor, int collapsedGroupLayout, int expandedGroupLayout, String[] groupFrom, int[] groupTo, int childLayout, int lastChildLayout, String[] childFrom, int[] childTo)

Constructor.

SimpleCursorTreeAdapter(Context context, Cursor cursor, int collapsedGroupLayout, int expandedGroupLayout, String[] groupFrom, int[] groupTo, int childLayout, String[] childFrom, int[] childTo)

Constructor.

SimpleCursorTreeAdapter(Context context, Cursor cursor, int groupLayout, String[] groupFrom, int[] groupTo, int childLayout, String[] childFrom, int[] childTo)

Constructor.

Public methods

SimpleCursorTreeAdapter.ViewBinder getViewBinder()

Returns the ViewBinder used to bind data to views.

void setViewBinder(SimpleCursorTreeAdapter.ViewBinder viewBinder)

Sets the binder used to bind data to views.

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 a TextView.

Protected methods

void bindChildView(View view, Context context, Cursor cursor, boolean isLastChild)

Bind an existing view to the child data pointed to by cursor

void bindGroupView(View view, Context context, Cursor cursor, boolean isExpanded)

Bind an existing view to the group data pointed to by cursor.

void setViewImage(ImageView v, String value)

Called by bindView() to set the image for an ImageView.

Inherited methods

Public constructors

SimpleCursorTreeAdapter

Added in API level 1
public SimpleCursorTreeAdapter (Context context, 
                Cursor cursor, 
                int collapsedGroupLayout, 
                int expandedGroupLayout, 
                String[] groupFrom, 
                int[] groupTo, 
                int childLayout, 
                int lastChildLayout, 
                String[] childFrom, 
                int[] childTo)

Constructor.

Parameters
context Context: The context where the ExpandableListView associated with this SimpleCursorTreeAdapter is running

cursor Cursor: The database cursor

collapsedGroupLayout int: The resource identifier of a layout file that defines the views for a collapsed group. The layout file should include at least those named views defined in groupTo.

expandedGroupLayout int: The resource identifier of a layout file that defines the views for an expanded group. The layout file should include at least those named views defined in groupTo.

groupFrom String: A list of column names that will be used to display the data for a group.

groupTo int: The group views (from the group layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

childLayout int: The resource identifier of a layout file that defines the views for a child (except the last). The layout file should include at least those named views defined in childTo.

lastChildLayout int: The resource identifier of a layout file that defines the views for the last child within a group. The layout file should include at least those named views defined in childTo.

childFrom String: A list of column names that will be used to display the data for a child.

childTo int: The child views (from the child layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

SimpleCursorTreeAdapter

Added in API level 1
public SimpleCursorTreeAdapter (Context context, 
                Cursor cursor, 
                int collapsedGroupLayout, 
                int expandedGroupLayout, 
                String[] groupFrom, 
                int[] groupTo, 
                int childLayout, 
                String[] childFrom, 
                int[] childTo)

Constructor.

Parameters
context Context: The context where the ExpandableListView associated with this SimpleCursorTreeAdapter is running

cursor Cursor: The database cursor

collapsedGroupLayout int: The resource identifier of a layout file that defines the views for a collapsed group. The layout file should include at least those named views defined in groupTo.

expandedGroupLayout int: The resource identifier of a layout file that defines the views for an expanded group. The layout file should include at least those named views defined in groupTo.

groupFrom String: A list of column names that will be used to display the data for a group.

groupTo int: The group views (from the group layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

childLayout int: The resource identifier of a layout file that defines the views for a child. The layout file should include at least those named views defined in childTo.

childFrom String: A list of column names that will be used to display the data for a child.

childTo int: The child views (from the child layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

SimpleCursorTreeAdapter

Added in API level 1
public SimpleCursorTreeAdapter (Context context, 
                Cursor cursor, 
                int groupLayout, 
                String[] groupFrom, 
                int[] groupTo, 
                int childLayout, 
                String[] childFrom, 
                int[] childTo)

Constructor.

Parameters
context Context: The context where the ExpandableListView associated with this SimpleCursorTreeAdapter is running

cursor Cursor: The database cursor

groupLayout int: The resource identifier of a layout file that defines the views for a group. The layout file should include at least those named views defined in groupTo.

groupFrom String: A list of column names that will be used to display the data for a group.

groupTo int: The group views (from the group layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

childLayout int: The resource identifier of a layout file that defines the views for a child. The layout file should include at least those named views defined in childTo.

childFrom String: A list of column names that will be used to display the data for a child.

childTo int: The child views (from the child layouts) that should display column in the "from" parameter. These should all be TextViews or ImageViews. The first N views in this list are given the values of the first N columns in the from parameter.

Public methods

getViewBinder

Added in API level 5
public SimpleCursorTreeAdapter.ViewBinder getViewBinder ()

Returns the ViewBinder used to bind data to views.

Returns
SimpleCursorTreeAdapter.ViewBinder a ViewBinder or null if the binder does not exist

setViewBinder

Added in API level 5
public void setViewBinder (SimpleCursorTreeAdapter.ViewBinder viewBinder)

Sets the binder used to bind data to views.

Parameters
viewBinder SimpleCursorTreeAdapter.ViewBinder: the binder used to bind data to views, can be null to remove the existing binder

See also:

setViewText

Added in API level 5
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 a TextView. Intended to be overridden by Adapters that need to filter strings retrieved from the database.

Parameters
v TextView: TextView to receive text

text String: the text to be set for the TextView

Protected methods

bindChildView

Added in API level 1
protected void bindChildView (View view, 
                Context context, 
                Cursor cursor, 
                boolean isLastChild)

Bind an existing view to the child data pointed to by cursor

Parameters
view View: Existing view, returned earlier by newChildView

context Context: Interface to application's global information

cursor Cursor: The cursor from which to get the data. The cursor is already moved to the correct position.

isLastChild boolean: Whether the child is the last child within its group.

bindGroupView

Added in API level 1
protected void bindGroupView (View view, 
                Context context, 
                Cursor cursor, 
                boolean isExpanded)

Bind an existing view to the group data pointed to by cursor.

Parameters
view View: Existing view, returned earlier by newGroupView.

context Context: Interface to application's global information

cursor Cursor: The cursor from which to get the data. The cursor is already moved to the correct position.

isExpanded boolean: Whether the group is expanded.

setViewImage

Added in API level 1
protected void setViewImage (ImageView v, 
                String value)

Called by bindView() to set the image for an ImageView. By default, the value will be treated as a Uri. Intended to be overridden by Adapters that need to filter strings retrieved from the database.

Parameters
v ImageView: ImageView to receive an image

value String: the value retrieved from the cursor