Build 1.0_r1(from source)

android.widget
Class SimpleExpandableListAdapter

java.lang.Object
  extended by android.widget.BaseExpandableListAdapter
      extended by 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 android.widget.BaseExpandableListAdapter
areAllItemsEnabled, getCombinedChildId, getCombinedGroupId, isEmpty, notifyDataSetChanged, notifyDataSetInvalidated, onGroupCollapsed, onGroupExpanded, registerDataSetObserver, unregisterDataSetObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

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 running
groupData - 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 running
groupData - 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 running
groupData - 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"
Method Detail

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 in
childPosition - 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 child
childPosition - 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 child
childPosition - the position of the child (for which the View is returned) within the group
isLastChild - Whether the child is the last child within the group
convertView - 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 returned
isExpanded - whether the group is expanded or collapsed
convertView - 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 child
childPosition - 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()

Build 1.0_r1(from source)

Please submit a feedback, bug or feature