to top
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

? Examples
BaseExpandableListAdapter()
Public Methods

? Examples
boolean areAllItemsEnabled()

? Examples
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.

? Examples
int getChildTypeCount()

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


? Examples
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.

  • ? Examples
    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.

  • ? Examples
    int getGroupType(int groupPosition)
    Get the type of group View that will be created by getGroupView(int, boolean, View, ViewGroup) .

    ? Examples
    int getGroupTypeCount()

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


    ? Examples
    boolean isEmpty()

    ? Examples
    void notifyDataSetChanged()

    ? Examples
    void notifyDataSetInvalidated()

    ? Examples
    void onGroupCollapsed(int groupPosition)
    Called when a group is collapsed.

    ? Examples
    void onGroupExpanded(int groupPosition)
    Called when a group is expanded.

    ? Examples
    void registerDataSetObserver( DataSetObserver observer)

    ? Examples
    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

    No examples for this method.
    Frequently called with: [Clear]
    Portions of this page are reproduced from work created and shared by the Android Open Source Project and used according to terms described in the Creative Commons 2.5 Attribution License. The original page is available here.