android.widget
Class SimpleExpandableListAdapter
java.lang.Object
android.widget.BaseExpandableListAdapter
android.widget.SimpleExpandableListAdapter
- All Implemented Interfaces:
- ExpandableListAdapter
public class SimpleExpandableListAdapter
- extends BaseExpandableListAdapter
An easy adapter to map static data to group and child views defined in an XML
file. You can separately specify the data backing the group as a List of
Maps. Each entry in the ArrayList corresponds to one group in the expandable
list. The Maps contain the data for each row. You also specify an XML file
that defines the views used to display a group, and a mapping from keys in
the Map to specific views. This process is similar for a child, except it is
one-level deeper so the data backing is specified as a List>,
where the first List corresponds to the group of the child, the second List
corresponds to the position of the child within the group, and finally the
Map holds the data for that particular child.
|
Constructor Summary |
SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int expandedGroupLayout,
int collapsedGroupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
int lastChildLayout,
String[] childFrom,
int[] childTo)
Constructor |
SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int expandedGroupLayout,
int collapsedGroupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
String[] childFrom,
int[] childTo)
Constructor |
SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int groupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
String[] childFrom,
int[] childTo)
Constructor |
|
Method Summary |
Object |
getChild(int groupPosition,
int childPosition)
Gets the data associated with the given child within the given group. |
long |
getChildId(int groupPosition,
int childPosition)
Gets the ID for the given child within the given group. |
int |
getChildrenCount(int groupPosition)
Gets the number of children in a specified group. |
View |
getChildView(int groupPosition,
int childPosition,
boolean isLastChild,
View convertView,
ViewGroup parent)
Gets a View that displays the data for the given child within the given
group. |
Object |
getGroup(int groupPosition)
Gets the data associated with the given group. |
int |
getGroupCount()
Gets the number of groups. |
long |
getGroupId(int groupPosition)
Gets the ID for the group at the given position. |
View |
getGroupView(int groupPosition,
boolean isExpanded,
View convertView,
ViewGroup parent)
Gets a View that displays the given group. |
boolean |
hasStableIds()
Indicates whether the child and group IDs are stable across changes to the
underlying data. |
boolean |
isChildSelectable(int groupPosition,
int childPosition)
Whether the child at the specified position is selectable. |
View |
newChildView(boolean isLastChild,
ViewGroup parent)
Instantiates a new View for a child. |
View |
newGroupView(boolean isExpanded,
ViewGroup parent)
Instantiates a new View for a group. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
SimpleExpandableListAdapter
public SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int groupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
String[] childFrom,
int[] childTo)
- Constructor
- Parameters:
context - The context where the ExpandableListView
associated with this SimpleExpandableListAdapter is
runninggroupData - A List of Maps. Each entry in the List corresponds to
one group in the list. The Maps contain the data for each
group, and should include all the entries specified in
"groupFrom"groupFrom - A list of keys that will be fetched from the Map
associated with each group.groupTo - The group views that should display column in the
"groupFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the groupFrom parameter.groupLayout - resource identifier of a view layout that defines the
views for a group. The layout file should include at least
those named views defined in "groupTo"childData - A List of List of Maps. Each entry in the outer List
corresponds to a group (index by group position), each entry
in the inner List corresponds to a child within the group
(index by child position), and the Map corresponds to the data
for a child (index by values in the childFrom array). The Map
contains the data for each child, and should include all the
entries specified in "childFrom"childFrom - A list of keys that will be fetched from the Map
associated with each child.childTo - The child views that should display column in the
"childFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the childFrom parameter.childLayout - resource identifier of a view layout that defines the
views for a child. The layout file should include at least
those named views defined in "childTo"
SimpleExpandableListAdapter
public SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int expandedGroupLayout,
int collapsedGroupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
String[] childFrom,
int[] childTo)
- Constructor
- Parameters:
context - The context where the ExpandableListView
associated with this SimpleExpandableListAdapter is
runninggroupData - A List of Maps. Each entry in the List corresponds to
one group in the list. The Maps contain the data for each
group, and should include all the entries specified in
"groupFrom"groupFrom - A list of keys that will be fetched from the Map
associated with each group.groupTo - The group views that should display column in the
"groupFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the groupFrom parameter.expandedGroupLayout - resource identifier of a view layout that
defines the views for an expanded group. The layout file
should include at least those named views defined in "groupTo"collapsedGroupLayout - resource identifier of a view layout that
defines the views for a collapsed group. The layout file
should include at least those named views defined in "groupTo"childData - A List of List of Maps. Each entry in the outer List
corresponds to a group (index by group position), each entry
in the inner List corresponds to a child within the group
(index by child position), and the Map corresponds to the data
for a child (index by values in the childFrom array). The Map
contains the data for each child, and should include all the
entries specified in "childFrom"childFrom - A list of keys that will be fetched from the Map
associated with each child.childTo - The child views that should display column in the
"childFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the childFrom parameter.childLayout - resource identifier of a view layout that defines the
views for a child. The layout file should include at least
those named views defined in "childTo"
SimpleExpandableListAdapter
public SimpleExpandableListAdapter(Context context,
List<? extends Map<String,?>> groupData,
int expandedGroupLayout,
int collapsedGroupLayout,
String[] groupFrom,
int[] groupTo,
List<? extends List<? extends Map<String,?>>> childData,
int childLayout,
int lastChildLayout,
String[] childFrom,
int[] childTo)
- Constructor
- Parameters:
context - The context where the ExpandableListView
associated with this SimpleExpandableListAdapter is
runninggroupData - A List of Maps. Each entry in the List corresponds to
one group in the list. The Maps contain the data for each
group, and should include all the entries specified in
"groupFrom"groupFrom - A list of keys that will be fetched from the Map
associated with each group.groupTo - The group views that should display column in the
"groupFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the groupFrom parameter.expandedGroupLayout - resource identifier of a view layout that
defines the views for an expanded group. The layout file
should include at least those named views defined in "groupTo"collapsedGroupLayout - resource identifier of a view layout that
defines the views for a collapsed group. The layout file
should include at least those named views defined in "groupTo"childData - A List of List of Maps. Each entry in the outer List
corresponds to a group (index by group position), each entry
in the inner List corresponds to a child within the group
(index by child position), and the Map corresponds to the data
for a child (index by values in the childFrom array). The Map
contains the data for each child, and should include all the
entries specified in "childFrom"childFrom - A list of keys that will be fetched from the Map
associated with each child.childTo - The child views that should display column in the
"childFrom" parameter. These should all be TextViews. The
first N views in this list are given the values of the first N
columns in the childFrom parameter.childLayout - resource identifier of a view layout that defines the
views for a child (unless it is the last child within a group,
in which case the lastChildLayout is used). The layout file
should include at least those named views defined in "childTo"lastChildLayout - resource identifier of a view layout that defines
the views for the last child within each group. The layout
file should include at least those named views defined in
"childTo"
getChild
public Object getChild(int groupPosition,
int childPosition)
- Description copied from interface:
ExpandableListAdapter
- Gets the data associated with the given child within the given group.
- Parameters:
groupPosition - the position of the group that the child resides inchildPosition - the position of the child with respect to other
children in the group
- Returns:
- the data of the child
getChildId
public long getChildId(int groupPosition,
int childPosition)
- Description copied from interface:
ExpandableListAdapter
- Gets the ID for the given child within the given group. This ID must be
unique across all children within the group. The combined ID (see
ExpandableListAdapter.getCombinedChildId(long, long)) must be unique across ALL items
(groups and all children).
- Parameters:
groupPosition - the position of the group that contains the childchildPosition - the position of the child within the group for which
the ID is wanted
- Returns:
- the ID associated with the child
getChildView
public View getChildView(int groupPosition,
int childPosition,
boolean isLastChild,
View convertView,
ViewGroup parent)
- Description copied from interface:
ExpandableListAdapter
- Gets a View that displays the data for the given child within the given
group.
- Parameters:
groupPosition - the position of the group that contains the childchildPosition - the position of the child (for which the View is
returned) within the groupisLastChild - Whether the child is the last child within the groupconvertView - the old view to reuse, if possible. You should check
that this view is non-null and of an appropriate type before
using. If it is not possible to convert this view to display
the correct data, this method can create a new view. It is not
guaranteed that the convertView will have been previously
created by
ExpandableListAdapter.getChildView(int, int, boolean, View, ViewGroup).parent - the parent that this view will eventually be attached to
- Returns:
- the View corresponding to the child at the specified position
newChildView
public View newChildView(boolean isLastChild,
ViewGroup parent)
- Instantiates a new View for a child.
- Parameters:
isLastChild - Whether the child is the last child within its group.parent - The eventual parent of this new View.
- Returns:
- A new child View
getChildrenCount
public int getChildrenCount(int groupPosition)
- Description copied from interface:
ExpandableListAdapter
- Gets the number of children in a specified group.
- Parameters:
groupPosition - the position of the group for which the children
count should be returned
- Returns:
- the children count in the specified group
getGroup
public Object getGroup(int groupPosition)
- Description copied from interface:
ExpandableListAdapter
- Gets the data associated with the given group.
- Parameters:
groupPosition - the position of the group
- Returns:
- the data child for the specified group
getGroupCount
public int getGroupCount()
- Description copied from interface:
ExpandableListAdapter
- Gets the number of groups.
- Returns:
- the number of groups
getGroupId
public long getGroupId(int groupPosition)
- Description copied from interface:
ExpandableListAdapter
- Gets the ID for the group at the given position. This group ID must be
unique across groups. The combined ID (see
ExpandableListAdapter.getCombinedGroupId(long)) must be unique across ALL items
(groups and all children).
- Parameters:
groupPosition - the position of the group for which the ID is wanted
- Returns:
- the ID associated with the group
getGroupView
public View getGroupView(int groupPosition,
boolean isExpanded,
View convertView,
ViewGroup parent)
- Description copied from interface:
ExpandableListAdapter
- Gets a View that displays the given group. This View is only for the
group--the Views for the group's children will be fetched using
getChildrenView.
- Parameters:
groupPosition - the position of the group for which the View is
returnedisExpanded - whether the group is expanded or collapsedconvertView - the old view to reuse, if possible. You should check
that this view is non-null and of an appropriate type before
using. If it is not possible to convert this view to display
the correct data, this method can create a new view. It is not
guaranteed that the convertView will have been previously
created by
ExpandableListAdapter.getGroupView(int, boolean, View, ViewGroup).parent - the parent that this view will eventually be attached to
- Returns:
- the View corresponding to the group at the specified position
newGroupView
public View newGroupView(boolean isExpanded,
ViewGroup parent)
- Instantiates a new View for a group.
- Parameters:
isExpanded - Whether the group is currently expanded.parent - The eventual parent of this new View.
- Returns:
- A new group View
isChildSelectable
public boolean isChildSelectable(int groupPosition,
int childPosition)
- Description copied from interface:
ExpandableListAdapter
- Whether the child at the specified position is selectable.
- Parameters:
groupPosition - the position of the group that contains the childchildPosition - the position of the child within the group
- Returns:
- whether the child is selectable.
hasStableIds
public boolean hasStableIds()
- Description copied from interface:
ExpandableListAdapter
- Indicates whether the child and group IDs are stable across changes to the
underlying data.
- Returns:
- whether or not the same ID always refers to the same object
- See Also:
Adapter.hasStableIds()
Please submit a feedback, bug or feature