# Print output for @column tags ?> BaseExpandableListAdapter - Android SDK | Android Developers

Most visited

Recently visited

BaseExpandableListAdapter

public abstract class BaseExpandableListAdapter
extends Object implements ExpandableListAdapter, HeterogeneousExpandableList

java.lang.Object
   ↳ android.widget.BaseExpandableListAdapter


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.

See also:

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 ExpandableListAdapter.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 ExpandableListAdapter.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 ExpandableListAdapter.getGroupView(int, boolean, View, ViewGroup) .

    int getGroupTypeCount()

    Returns the number of types of group Views that will be created by ExpandableListAdapter.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)

    Inherited methods

    Public constructors

    BaseExpandableListAdapter

    public BaseExpandableListAdapter ()

    Public methods

    areAllItemsEnabled

    public boolean areAllItemsEnabled ()

    Returns
    boolean

    getChildType

    public int getChildType (int groupPosition, 
                    int childPosition)

    Get the type of child View that will be created by 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

    Returns
    int 0 for any group or child position, since only one child type count is declared.

    getChildTypeCount

    public int getChildTypeCount ()

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

    Returns
    int 1 as a default value in BaseExpandableListAdapter.

    getCombinedChildId

    public 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.
  • 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 long: The ID of the group that contains this child.

    childId long: The ID of the child.

    Returns
    long The unique (and possibly stable) ID of the child across all groups and children in this list.

  • getCombinedGroupId

    public 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.
  • 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 long: The ID of the group

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

  • getGroupType

    public int getGroupType (int groupPosition)

    Get the type of group View that will be created by 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.

    Returns
    int 0 for any groupPosition, since only one group type count is declared.

    getGroupTypeCount

    public int getGroupTypeCount ()

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

    Returns
    int 1 as a default value in BaseExpandableListAdapter.

    isEmpty

    public boolean isEmpty ()

    Returns
    boolean

    notifyDataSetChanged

    public void notifyDataSetChanged ()

    See also:

    notifyDataSetInvalidated

    public void notifyDataSetInvalidated ()

    See also:

    onGroupCollapsed

    public void onGroupCollapsed (int groupPosition)

    Called when a group is collapsed.

    Parameters
    groupPosition int: The group being collapsed.

    onGroupExpanded

    public void onGroupExpanded (int groupPosition)

    Called when a group is expanded.

    Parameters
    groupPosition int: The group being expanded.

    registerDataSetObserver

    public void registerDataSetObserver (DataSetObserver observer)

    Parameters
    observer DataSetObserver

    unregisterDataSetObserver

    public void unregisterDataSetObserver (DataSetObserver observer)

    Parameters
    observer DataSetObserver