Added in API level 8

HeterogeneousExpandableList

interface HeterogeneousExpandableList
android.widget.HeterogeneousExpandableList

Additional methods that when implemented make an ExpandableListAdapter take advantage of the Adapter view type mechanism.

An ExpandableListAdapter declares it has one view type for its group items and one view type for its child items. Although adapted for most ExpandableListViews, these values should be tuned for heterogeneous ExpandableListViews.

Lists that contain different types of group and/or child item views, should use an adapter that implements this interface. This way, the recycled views that will be provided to android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) and android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) will be of the appropriate group or child type, resulting in a more efficient reuse of the previously created views.

Summary

Public methods
abstract Int
getChildType(groupPosition: Int, childPosition: Int)

Get the type of child View that will be created by android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) for the specified child item.

abstract Int

Returns the number of types of child Views that will be created by android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) .

abstract Int
getGroupType(groupPosition: Int)

Get the type of group View that will be created by android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) .

abstract Int

Returns the number of types of group Views that will be created by android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) .

Public methods

getChildType

Added in API level 8
abstract fun getChildType(
    groupPosition: Int,
    childPosition: Int
): Int

Get the type of child View that will be created by android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) for the specified child item.

Parameters
groupPosition Int: the position of the group that the child resides in
childPosition Int: the position of the child with respect to other children in the group
Return
Int An integer representing the type of child View. Two child views should share the same type if one can be converted to the other in android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) Note: Integers must be in the range 0 to getChildTypeCount - 1. android.widget.Adapter#IGNORE_ITEM_VIEW_TYPE can also be returned.

getChildTypeCount

Added in API level 8
abstract fun getChildTypeCount(): Int

Returns the number of types of child Views that will be created by android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) . Each type represents a set of views that can be converted in android.widget.ExpandableListAdapter#getChildView(int, int, boolean, View, ViewGroup) , for any group. If the adapter always returns the same type of View for all child items, this method should return 1.

This method will only be called when the adapter is set on the AdapterView.
Return
Int The total number of types of child Views that will be created by this adapter.

getGroupType

Added in API level 8
abstract fun getGroupType(groupPosition: Int): Int

Get the type of group View that will be created by android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) . for the specified group item.

Parameters
groupPosition Int: the position of the group for which the type should be returned.
Return
Int An integer representing the type of group View. Two group views should share the same type if one can be converted to the other in android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) . Note: Integers must be in the range 0 to getGroupTypeCount - 1. android.widget.Adapter#IGNORE_ITEM_VIEW_TYPE can also be returned.

getGroupTypeCount

Added in API level 8
abstract fun getGroupTypeCount(): Int

Returns the number of types of group Views that will be created by android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) . Each type represents a set of views that can be converted in android.widget.ExpandableListAdapter#getGroupView(int, boolean, View, ViewGroup) . If the adapter always returns the same type of View for all group items, this method should return 1.

This method will only be called when the adapter is set on the AdapterView.
Return
Int The number of types of group Views that will be created by this adapter.