Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#pubctors) \| [Methods](https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#inhmethods)

# SimpleExpandableListAdapter

*** ** * ** ***


`
public


class
SimpleExpandableListAdapter
`


`


`

`

extends https://developer.android.com/reference/android/widget/BaseExpandableListAdapter


`

`


`

|---|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) |||
| ↳ | [android.widget.BaseExpandableListAdapter](https://developer.android.com/reference/android/widget/BaseExpandableListAdapter) ||
|   | ↳ | android.widget.SimpleExpandableListAdapter |

<br />

*** ** * ** ***

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.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#SimpleExpandableListAdapter(android.content.Context,%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>,%20int,%20int,%20java.lang.String[],%20int[],%20java.util.List<?%20extends%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>>,%20int,%20int,%20java.lang.String[],%20int[])(https://developer.android.com/reference/android/content/Context context, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>> groupData, int expandedGroupLayout, int collapsedGroupLayout, https://developer.android.com/reference/java/lang/String groupFrom, int[] groupTo, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>>> childData, int childLayout, int lastChildLayout, https://developer.android.com/reference/java/lang/String childFrom, int[] childTo) ` Constructor |
| ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#SimpleExpandableListAdapter(android.content.Context,%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>,%20int,%20int,%20java.lang.String[],%20int[],%20java.util.List<?%20extends%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>>,%20int,%20java.lang.String[],%20int[])(https://developer.android.com/reference/android/content/Context context, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>> groupData, int expandedGroupLayout, int collapsedGroupLayout, https://developer.android.com/reference/java/lang/String groupFrom, int[] groupTo, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>>> childData, int childLayout, https://developer.android.com/reference/java/lang/String childFrom, int[] childTo) ` Constructor |
| ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#SimpleExpandableListAdapter(android.content.Context,%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>,%20int,%20java.lang.String[],%20int[],%20java.util.List<?%20extends%20java.util.List<?%20extends%20java.util.Map<java.lang.String,?>>>,%20int,%20java.lang.String[],%20int[])(https://developer.android.com/reference/android/content/Context context, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>> groupData, int groupLayout, https://developer.android.com/reference/java/lang/String groupFrom, int[] groupTo, https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/List<? extends https://developer.android.com/reference/java/util/Map<https://developer.android.com/reference/java/lang/String, ?>>> childData, int childLayout, https://developer.android.com/reference/java/lang/String childFrom, int[] childTo) ` Constructor |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getChild(int,%20int)(int groupPosition, int childPosition) ` |
| ` long` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getChildId(int,%20int)(int groupPosition, int childPosition) ` |
| ` https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)(int groupPosition, int childPosition, boolean isLastChild, https://developer.android.com/reference/android/view/View convertView, https://developer.android.com/reference/android/view/ViewGroup parent) ` |
| ` int` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getChildrenCount(int)(int groupPosition) ` |
| ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getGroup(int)(int groupPosition) ` |
| ` int` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getGroupCount()() ` |
| ` long` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getGroupId(int)(int groupPosition) ` |
| ` https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)(int groupPosition, boolean isExpanded, https://developer.android.com/reference/android/view/View convertView, https://developer.android.com/reference/android/view/ViewGroup parent) ` |
| ` boolean` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#hasStableIds()() ` |
| ` boolean` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#isChildSelectable(int,%20int)(int groupPosition, int childPosition) ` |
| ` https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#newChildView(boolean,%20android.view.ViewGroup)(boolean isLastChild, https://developer.android.com/reference/android/view/ViewGroup parent) ` Instantiates a new View for a child. |
| ` https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter#newGroupView(boolean,%20android.view.ViewGroup)(boolean isExpanded, https://developer.android.com/reference/android/view/ViewGroup parent) ` Instantiates a new View for a group. |

| ### Inherited methods |
|---|---|
| From class ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter ` |---|---| | ` boolean` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#areAllItemsEnabled()() ` | | ` int` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getChildType(int,%20int)(int groupPosition, int childPosition) ` Get the type of child View that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` for the specified child item. | | ` int` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getChildTypeCount()() ` <br /> Returns the number of types of child Views that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | | ` long` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getCombinedChildId(long,%20long)(long groupId, long childId) ` Override this method if you foresee a clash in IDs based on this scheme: Base implementation returns a long: - bit 0: Whether this ID points to a child (unset) or group (set), so for this method this bit will be 1. <br /> | | ` long` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getCombinedGroupId(long)(long groupId) ` Override this method if you foresee a clash in IDs based on this scheme: Base implementation returns a long: - bit 0: Whether this ID points to a child (unset) or group (set), so for this method this bit will be 0. <br /> | | ` int` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getGroupType(int)(int groupPosition) ` Get the type of group View that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | | ` int` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#getGroupTypeCount()() ` <br /> Returns the number of types of group Views that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | | ` boolean` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#isEmpty()() ` | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#notifyDataSetChanged()() ` | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#notifyDataSetInvalidated()() ` | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#onGroupCollapsed(int)(int groupPosition) ` Called when a group is collapsed. | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#onGroupExpanded(int)(int groupPosition) ` Called when a group is expanded. | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#registerDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) ` | | ` void` | ` https://developer.android.com/reference/android/widget/BaseExpandableListAdapter#unregisterDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) ` | ||
| From class ` https://developer.android.com/reference/java/lang/Object ` |---|---| | ` https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/java/lang/Object#clone()() ` Creates and returns a copy of this object. | | ` boolean` | ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) ` Indicates whether some other object is "equal to" this one. | | ` void` | ` https://developer.android.com/reference/java/lang/Object#finalize()() ` Called by the garbage collector on an object when garbage collection determines that there are no more references to the object. | | ` final https://developer.android.com/reference/java/lang/Class<?>` | ` https://developer.android.com/reference/java/lang/Object#getClass()() ` Returns the runtime class of this `Object`. | | ` int` | ` https://developer.android.com/reference/java/lang/Object#hashCode()() ` Returns a hash code value for the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notify()() ` Wakes up a single thread that is waiting on this object's monitor. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#notifyAll()() ` Wakes up all threads that are waiting on this object's monitor. | | ` https://developer.android.com/reference/java/lang/String` | ` https://developer.android.com/reference/java/lang/Object#toString()() ` Returns a string representation of the object. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed. | | ` final void` | ` https://developer.android.com/reference/java/lang/Object#wait()() ` Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*. | ||
| From interface ` https://developer.android.com/reference/android/widget/ExpandableListAdapter ` |---|---| | ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#areAllItemsEnabled()() ` | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChild(int,%20int)(int groupPosition, int childPosition) ` Gets the data associated with the given child within the given group. | | ` abstract long` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildId(int,%20int)(int groupPosition, int childPosition) ` Gets the ID for the given child within the given group. | | ` abstract https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)(int groupPosition, int childPosition, boolean isLastChild, https://developer.android.com/reference/android/view/View convertView, https://developer.android.com/reference/android/view/ViewGroup parent) ` Gets a View that displays the data for the given child within the given group. | | ` abstract int` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildrenCount(int)(int groupPosition) ` Gets the number of children in a specified group. | | ` abstract long` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getCombinedChildId(long,%20long)(long groupId, long childId) ` Gets an ID for a child that is unique across any item (either group or child) that is in this list. | | ` abstract long` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getCombinedGroupId(long)(long groupId) ` Gets an ID for a group that is unique across any item (either group or child) that is in this list. | | ` abstract https://developer.android.com/reference/java/lang/Object` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroup(int)(int groupPosition) ` Gets the data associated with the given group. | | ` abstract int` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupCount()() ` Gets the number of groups. | | ` abstract long` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupId(int)(int groupPosition) ` Gets the ID for the group at the given position. | | ` abstract https://developer.android.com/reference/android/view/View` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)(int groupPosition, boolean isExpanded, https://developer.android.com/reference/android/view/View convertView, https://developer.android.com/reference/android/view/ViewGroup parent) ` Gets a View that displays the given group. | | ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#hasStableIds()() ` Indicates whether the child and group IDs are stable across changes to the underlying data. | | ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#isChildSelectable(int,%20int)(int groupPosition, int childPosition) ` Whether the child at the specified position is selectable. | | ` abstract boolean` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#isEmpty()() ` | | ` abstract void` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#onGroupCollapsed(int)(int groupPosition) ` Called when a group is collapsed. | | ` abstract void` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#onGroupExpanded(int)(int groupPosition) ` Called when a group is expanded. | | ` abstract void` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#registerDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) ` | | ` abstract void` | ` https://developer.android.com/reference/android/widget/ExpandableListAdapter#unregisterDataSetObserver(android.database.DataSetObserver)(https://developer.android.com/reference/android/database/DataSetObserver observer) ` | ||
| From interface ` https://developer.android.com/reference/android/widget/HeterogeneousExpandableList ` |---|---| | ` abstract int` | ` https://developer.android.com/reference/android/widget/HeterogeneousExpandableList#getChildType(int,%20int)(int groupPosition, int childPosition) ` Get the type of child View that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` for the specified child item. | | ` abstract int` | ` https://developer.android.com/reference/android/widget/HeterogeneousExpandableList#getChildTypeCount()() ` <br /> Returns the number of types of child Views that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getChildView(int,%20int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | | ` abstract int` | ` https://developer.android.com/reference/android/widget/HeterogeneousExpandableList#getGroupType(int)(int groupPosition) ` Get the type of group View that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | | ` abstract int` | ` https://developer.android.com/reference/android/widget/HeterogeneousExpandableList#getGroupTypeCount()() ` <br /> Returns the number of types of group Views that will be created by `https://developer.android.com/reference/android/widget/ExpandableListAdapter#getGroupView(int,%20boolean,%20android.view.View,%20android.view.ViewGroup)` . | ||

## Public constructors

### SimpleExpandableListAdapter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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

<br />

| Parameters ||
|---|---|
| `context` | `Context`: The context where the `https://developer.android.com/reference/android/widget/ExpandableListView` associated with this `https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter` is running <br /> |
| `groupData` | `List`: 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" <br /> |
| `expandedGroupLayout` | `int`: 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" <br /> |
| `collapsedGroupLayout` | `int`: 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" <br /> |
| `groupFrom` | `String`: A list of keys that will be fetched from the Map associated with each group. <br /> |
| `groupTo` | `int`: 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. <br /> |
| `childData` | `List`: 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" <br /> |
| `childLayout` | `int`: 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" <br /> |
| `lastChildLayout` | `int`: 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" <br /> |
| `childFrom` | `String`: A list of keys that will be fetched from the Map associated with each child. <br /> |
| `childTo` | `int`: 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. <br /> |

### SimpleExpandableListAdapter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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

<br />

| Parameters ||
|---|---|
| `context` | `Context`: The context where the `https://developer.android.com/reference/android/widget/ExpandableListView` associated with this `https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter` is running <br /> |
| `groupData` | `List`: 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" <br /> |
| `expandedGroupLayout` | `int`: 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" <br /> |
| `collapsedGroupLayout` | `int`: 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" <br /> |
| `groupFrom` | `String`: A list of keys that will be fetched from the Map associated with each group. <br /> |
| `groupTo` | `int`: 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. <br /> |
| `childData` | `List`: 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" <br /> |
| `childLayout` | `int`: 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" <br /> |
| `childFrom` | `String`: A list of keys that will be fetched from the Map associated with each child. <br /> |
| `childTo` | `int`: 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. <br /> |

### SimpleExpandableListAdapter

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
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

<br />

| Parameters ||
|---|---|
| `context` | `Context`: The context where the `https://developer.android.com/reference/android/widget/ExpandableListView` associated with this `https://developer.android.com/reference/android/widget/SimpleExpandableListAdapter` is running <br /> |
| `groupData` | `List`: 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" <br /> |
| `groupLayout` | `int`: 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" <br /> |
| `groupFrom` | `String`: A list of keys that will be fetched from the Map associated with each group. <br /> |
| `groupTo` | `int`: 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. <br /> |
| `childData` | `List`: 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" <br /> |
| `childLayout` | `int`: 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" <br /> |
| `childFrom` | `String`: A list of keys that will be fetched from the Map associated with each child. <br /> |
| `childTo` | `int`: 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. <br /> |

## Public methods

### getChild

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object getChild (int groupPosition, 
                int childPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |
| `childPosition` | `int` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | <br /> |

### getChildId

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getChildId (int groupPosition, 
                int childPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |
| `childPosition` | `int` <br /> |

| Returns ||
|---|---|
| `long` | <br /> |

### getChildView

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public View getChildView (int groupPosition, 
                int childPosition, 
                boolean isLastChild, 
                View convertView, 
                ViewGroup parent)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |
| `childPosition` | `int` <br /> |
| `isLastChild` | `boolean` <br /> |
| `convertView` | `View` <br /> |
| `parent` | `ViewGroup` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/View` | <br /> |

### getChildrenCount

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getChildrenCount (int groupPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |

| Returns ||
|---|---|
| `int` | <br /> |

### getGroup

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public Object getGroup (int groupPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/java/lang/Object` | <br /> |

### getGroupCount

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public int getGroupCount ()
```

<br />

<br />

| Returns ||
|---|---|
| `int` | <br /> |

### getGroupId

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public long getGroupId (int groupPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |

| Returns ||
|---|---|
| `long` | <br /> |

### getGroupView

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public View getGroupView (int groupPosition, 
                boolean isExpanded, 
                View convertView, 
                ViewGroup parent)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |
| `isExpanded` | `boolean` <br /> |
| `convertView` | `View` <br /> |
| `parent` | `ViewGroup` <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/View` | <br /> |

### hasStableIds

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean hasStableIds ()
```

<br />

<br />

| Returns ||
|---|---|
| `boolean` | <br /> |

### isChildSelectable

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public boolean isChildSelectable (int groupPosition, 
                int childPosition)
```

<br />

<br />

| Parameters ||
|---|---|
| `groupPosition` | `int` <br /> |
| `childPosition` | `int` <br /> |

| Returns ||
|---|---|
| `boolean` | <br /> |

### newChildView

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public View newChildView (boolean isLastChild, 
                ViewGroup parent)
```

Instantiates a new View for a child.

<br />

| Parameters ||
|---|---|
| `isLastChild` | `boolean`: Whether the child is the last child within its group. <br /> |
| `parent` | `ViewGroup`: The eventual parent of this new View. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/View` | A new child View <br /> |

### newGroupView

Added in [API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public View newGroupView (boolean isExpanded, 
                ViewGroup parent)
```

Instantiates a new View for a group.

<br />

| Parameters ||
|---|---|
| `isExpanded` | `boolean`: Whether the group is currently expanded. <br /> |
| `parent` | `ViewGroup`: The eventual parent of this new View. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/View` | A new group View <br /> |