Android APIs
public abstract class

BaseExpandableListAdapter

extends Object
implements ExpandableListAdapter HeterogeneousExpandableList
java.lang.Object
   ↳ android.widget.BaseExpandableListAdapter
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Base class for a ExpandableListAdapter used to provide data and Views from some data to an expandable list view.

Adapters inheriting this class should verify that the base implementations of getCombinedChildId(long, long) and getCombinedGroupId(long) are correct in generating unique IDs from the group/children IDs.

Summary

Public Constructors
BaseExpandableListAdapter()
Public Methods
boolean areAllItemsEnabled()
int getChildType(int groupPosition, int childPosition)
Get the type of child View that will be created by getChildView(int, int, boolean, View, ViewGroup) for the specified child item.
int getChildTypeCount()

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

long getCombinedChildId(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.
  • long getCombinedGroupId(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.
  • int getGroupType(int groupPosition)
    Get the type of group View that will be created by getGroupView(int, boolean, View, ViewGroup) .
    int getGroupTypeCount()

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

    boolean isEmpty()
    void notifyDataSetChanged()
    void notifyDataSetInvalidated()
    void onGroupCollapsed(int groupPosition)
    Called when a group is collapsed.
    void onGroupExpanded(int groupPosition)
    Called when a group is expanded.
    void registerDataSetObserver(DataSetObserver observer)
    void unregisterDataSetObserver(DataSetObserver observer)
    [Expand]
    Inherited Methods
    From class java.lang.Object
    From interface android.widget.ExpandableListAdapter
    From interface android.widget.HeterogeneousExpandableList

    Public Constructors

    public BaseExpandableListAdapter ()

    Added in API level 1

    Public Methods

    public boolean areAllItemsEnabled ()

    Added in API level 1

    public int getChildType (int groupPosition, int childPosition)

    Added in API level 8

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

    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
    • 0 for any group or child position, since only one child type count is declared.

    public int getChildTypeCount ()

    Added in API level 8

    Returns the number of types of child Views that will be created by getChildView(int, int, boolean, View, ViewGroup) . Each type represents a set of views that can be converted in 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.

    Returns
    • 1 as a default value in BaseExpandableListAdapter.

    public long getCombinedChildId (long groupId, long childId)

    Added in API level 1

    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.
  • bit 1-31: Lower 31 bits of the groupId
  • bit 32-63: Lower 32 bits of the childId.

    Gets an ID for a child that is unique across any item (either group or child) that is in this list. Expandable lists require each item (group or child) to have a unique ID among all children and groups in the list. This method is responsible for returning that unique ID given a child's ID and its group's ID. Furthermore, if hasStableIds() is true, the returned ID must be stable as well.

  • Parameters
    groupId The ID of the group that contains this child.
    childId The ID of the child.
    Returns
    • The unique (and possibly stable) ID of the child across all groups and children in this list.

    public long getCombinedGroupId (long groupId)

    Added in API level 1

    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.
  • bit 1-31: Lower 31 bits of the groupId
  • bit 32-63: Lower 32 bits of the childId.

    Gets an ID for a group that is unique across any item (either group or child) that is in this list. Expandable lists require each item (group or child) to have a unique ID among all children and groups in the list. This method is responsible for returning that unique ID given a group's ID. Furthermore, if hasStableIds() is true, the returned ID must be stable as well.

  • Parameters
    groupId The ID of the group
    Returns
    • The unique (and possibly stable) ID of the group across all groups and children in this list.

    public int getGroupType (int groupPosition)

    Added in API level 8

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

    Parameters
    groupPosition the position of the group for which the type should be returned.
    Returns
    • 0 for any groupPosition, since only one group type count is declared.

    public int getGroupTypeCount ()

    Added in API level 8

    Returns the number of types of group Views that will be created by getGroupView(int, boolean, View, ViewGroup) . Each type represents a set of views that can be converted in 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.

    Returns
    • 1 as a default value in BaseExpandableListAdapter.

    public boolean isEmpty ()

    Added in API level 1

    public void notifyDataSetChanged ()

    Added in API level 1

    See Also

    public void notifyDataSetInvalidated ()

    Added in API level 1

    public void onGroupCollapsed (int groupPosition)

    Added in API level 1

    Called when a group is collapsed.

    Parameters
    groupPosition The group being collapsed.

    public void onGroupExpanded (int groupPosition)

    Added in API level 1

    Called when a group is expanded.

    Parameters
    groupPosition The group being expanded.

    public void registerDataSetObserver (DataSetObserver observer)

    Added in API level 1

    public void unregisterDataSetObserver (DataSetObserver observer)

    Added in API level 1