android.widget
public
abstract
class
android.widget.CursorTreeAdapter
An adapter that exposes data from a series of Cursors to an
ExpandableListView widget. The top-level Cursor (that is
given in the constructor) exposes the groups, while subsequent Cursors
returned from getChildrenCursor(Cursor) expose children within a
particular group. The Cursors must include a column named "_id" or this class
will not work.
Known Direct Subclasses
Known Indirect Subclasses
SimpleCursorTreeAdapter |
An easy adapter to map columns from a cursor to TextViews or ImageViews
defined in an XML file. |
Summary
Public Constructors
Public Methods
|
|
|
|
|
void |
changeCursor(Cursor cursor) |
|
|
|
|
|
String |
convertToString(Cursor cursor) |
|
|
|
|
|
Cursor |
getChild(int groupPosition, int childPosition) |
|
|
|
|
|
long |
getChildId(int groupPosition, int childPosition) |
|
|
|
|
|
View |
getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent) |
|
|
|
|
|
int |
getChildrenCount(int groupPosition) |
|
|
|
|
|
Cursor |
getCursor() |
|
|
|
|
|
Filter |
getFilter() |
|
|
|
|
|
FilterQueryProvider |
getFilterQueryProvider() |
|
|
|
|
|
Cursor |
getGroup(int groupPosition) |
|
|
|
|
|
int |
getGroupCount() |
|
|
|
|
|
long |
getGroupId(int groupPosition) |
|
|
|
|
|
View |
getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent) |
|
|
|
|
|
boolean |
hasStableIds() |
|
|
|
|
|
boolean |
isChildSelectable(int groupPosition, int childPosition) |
|
|
|
|
|
void |
notifyDataSetChanged() |
|
|
|
|
|
void |
notifyDataSetChanged(boolean releaseCursors) |
|
|
|
|
|
void |
notifyDataSetInvalidated() |
|
|
|
|
|
void |
onGroupCollapsed(int groupPosition) |
|
|
|
|
|
Cursor |
runQueryOnBackgroundThread(CharSequence constraint) |
|
|
|
|
|
void |
setChildrenCursor(int groupPosition, Cursor childrenCursor) |
|
|
|
|
|
void |
setFilterQueryProvider(FilterQueryProvider filterQueryProvider) |
|
|
|
|
|
void |
setGroupCursor(Cursor cursor) |
Protected Methods
abstract |
|
|
|
|
void |
bindChildView(View view, Context context, Cursor cursor, boolean isLastChild) |
abstract |
|
|
|
|
void |
bindGroupView(View view, Context context, Cursor cursor, boolean isExpanded) |
abstract |
|
|
|
|
Cursor |
getChildrenCursor(Cursor groupCursor) |
abstract |
|
|
|
|
View |
newChildView(Context context, Cursor cursor, boolean isLastChild, ViewGroup parent) |
abstract |
|
|
|
|
View |
newGroupView(Context context, Cursor cursor, boolean isExpanded, ViewGroup parent) |
clone,
equals,
finalize,
getClass,
hashCode,
notify,
notifyAll,
toString,
wait,
wait,
wait
Details
Public Constructors
public
CursorTreeAdapter(Cursor cursor, Context context)
Constructor. The adapter will call
requery() on the cursor whenever
it changes so that the most recent data is always displayed.
Parameters
cursor
| The cursor from which to get the data for the groups.
|
public
CursorTreeAdapter(Cursor cursor, Context context, boolean autoRequery)
Constructor.
Parameters
cursor
| The cursor from which to get the data for the groups. |
context
| The context |
autoRequery
| If true the adapter will call requery()
on the cursor whenever it changes so the most recent data is
always displayed.
|
Public Methods
public
void
changeCursor(Cursor cursor)
public
Cursor
getChild(int groupPosition, int childPosition)
public
long
getChildId(int groupPosition, int childPosition)
public
View
getChildView(int groupPosition, int childPosition, boolean isLastChild, View convertView, ViewGroup parent)
public
int
getChildrenCount(int groupPosition)
public
Filter
getFilter()
Returns a filter that can be used to constrain data with a filtering
pattern.
This method is usually implemented by Adapter
classes.
public
Cursor
getGroup(int groupPosition)
public
int
getGroupCount()
public
long
getGroupId(int groupPosition)
public
View
getGroupView(int groupPosition, boolean isExpanded, View convertView, ViewGroup parent)
public
boolean
hasStableIds()
public
boolean
isChildSelectable(int groupPosition, int childPosition)
public
void
notifyDataSetChanged()
public
void
notifyDataSetChanged(boolean releaseCursors)
Notifies a data set change, but with the option of not releasing any
cached cursors.
Parameters
releaseCursors
| Whether to release and deactivate any cached
cursors.
|
public
void
notifyDataSetInvalidated()
public
void
onGroupCollapsed(int groupPosition)
Called when a group is collapsed.
public
void
setChildrenCursor(int groupPosition, Cursor childrenCursor)
Sets the children Cursor for a particular group.
This is useful when asynchronously querying to prevent blocking the UI.
Parameters
groupPosition
| The group whose children are being set via this Cursor. |
childrenCursor
| The Cursor that contains the children of the group.
|
public
void
setGroupCursor(Cursor cursor)
Sets the group Cursor.
Parameters
cursor
| The Cursor to set for the group.
|
Protected Methods
protected
abstract
void
bindChildView(View view, Context context, Cursor cursor, boolean isLastChild)
Bind an existing view to the child data pointed to by cursor
Parameters
view
| Existing view, returned earlier by newChildView |
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. |
isLastChild
| Whether the child is the last child within its group.
|
protected
abstract
void
bindGroupView(View view, Context context, Cursor cursor, boolean isExpanded)
Bind an existing view to the group data pointed to by cursor.
Parameters
view
| Existing view, returned earlier by newGroupView. |
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. |
isExpanded
| Whether the group is expanded.
|
protected
abstract
Cursor
getChildrenCursor(Cursor groupCursor)
Gets the Cursor for the children at the given group. Subclasses must
implement this method to return the children data for a particular group.
If you want to asynchronously query a provider to prevent blocking the
UI, it is possible to return null and at a later time call
setChildrenCursor(int, Cursor).
It is your responsibility to manage this Cursor through the Activity
lifecycle. It is a good idea to use managedQuery(Uri, String[], String, String[], String) which
will handle this for you. In some situations, the adapter will deactivate
the Cursor on its own, but this will not always be the case, so please
ensure the Cursor is properly managed.
Parameters
groupCursor
| The cursor pointing to the group whose children cursor
should be returned |
Returns
- The cursor for the children of a particular group, or null.
protected
abstract
View
newChildView(Context context, Cursor cursor, boolean isLastChild, ViewGroup parent)
Makes a new child view to hold the data pointed to by cursor.
Parameters
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. |
isLastChild
| Whether the child is the last child within its group. |
parent
| The parent to which the new view is attached to |
protected
abstract
View
newGroupView(Context context, Cursor cursor, boolean isExpanded, ViewGroup parent)
Makes a new group view to hold the group data pointed to by cursor.
Parameters
context
| Interface to application's global information |
cursor
| The group cursor from which to get the data. The cursor is
already moved to the correct position. |
isExpanded
| Whether the group is expanded. |
parent
| The parent to which the new view is attached to |