返回介绍

ExpandableListAdapter

发布于 2025-03-09 17:00:28 字数 6316 浏览 0 评论 0 收藏 0

ExpandableListAdapter

翻译时间:2011-1-25

版本:Android 3.0 r1

结构

继承关系

public interface ExpandableListAdapter

android.widget.ExpandableListAdapter

子类及间接子类

间接子类 BaseExpandableListAdapter,CursorTreeAdapter,ResourceCursorTreeAdapter, SimpleCursorTreeAdapter, SimpleExpandableListAdapter

类概述

这个适配器在 ExpandableListView 和底层数据之间起到了一个衔接的作用。该接口的实现类提供了访问子元素(以组的形式将它们分类)的数据;同样,也提供了为子元素和组创建相应的视图。

公共方法

public abstract boolean areAllItemsEnabled ()

ExpandableListAdapter 里面的所有条目都可用吗?如果是 yes,就意味着所有条目可以选择和点击了。

返回值

返回 True 表示所有条目均可用。

参见

areAllItemsEnabled()

public abstract Cursor getChild (int groupPosition, int childPosition)

获取指定组中的指定子元素数据。

参数

groupPosition 组位置(该组内部含有子元素)

childPosition 子元素位置(相对于其它子元素)

返回值

返回指定子元素数据。

public abstract long getChildId (int groupPosition, int childPosition)

获取指定组中的指定子元素 ID,这个 ID 在组里一定是唯一的。联合 ID(参见 getCombinedChildId(long, long) )在所有条目(所有组和所有元素)中也是唯一的。

参数

groupPosition 组位置(该组内部含有子元素)

childPosition 子元素位置(相对于其它子元素)

返回值

子元素关联 ID。

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

获取一个视图对象,显示指定组中的指定子元素数据。

参数

groupPosition 组位置(该组内部含有子元素)

childPosition 子元素位置(决定返回哪个视图)

isLastChild 子元素是否处于组中的最后一个

convertView 重用已有的视图(View) 对象。注意:在使用前你应该检查一下这个视图对象是否非空并且这个对象的类型是否合适。由此引伸出,如果该对象不能被转换并显示正确的数据,这个方法就会调用 getChildView(int, int, boolean, View, ViewGroup) 来创建一个视图(View) 对象。

parent 返回的视图(View) 对象始终依附于的视图组。

返回值

指定位置上的子元素返回的视图对象

public abstract int getChildrenCount (int groupPosition)

获取指定组中的子元素个数

参数

groupPosition 组位置(决定返回哪个组的子元素个数)

返回值

指定组的子元素个数

public abstract long getCombinedChildId (long groupId, long childId)

从列表所有项(组或子项) 中获得一个唯一的子 ID 号。可折叠列表要求每个元素(组或子项) 在所有的子元素和组中有一个唯一的 ID。本方法负责根据所给的子 ID 号和组 ID 号返回唯一的 ID。此外,若 hasStableIds() 是 true,那么必须要返回稳定的 ID。

参数

groupId 包含该子元素的组 ID

childId 子元素的 ID

返回值

列表所有项(组或子项) 中唯一的(和可能稳定) 的子元素 ID 号。(译者注:ID 理论上是稳定的,不会发生冲突的情况。也就是说,这个列表会有组、子元素,它们的 ID 都是唯一的。)

public abstract Cursor getGroup (int groupPosition)

获取指定组中的数据

参数

groupPosition 组位置

返回值

返回组中的数据,也就是该组中的子元素数据。

public abstract int getGroupCount ()

获取组的个数

返回值

组的个数

public abstract long getGroupId (int groupPosition)

获取指定组的 ID,这个组 ID 必须是唯一的。联合 ID(参见 getCombinedGroupId(long) ) 在所有条目(所有组和所有元素) 中也是唯一的。

参数

groupPosition 组位置

返回值

返回组相关 ID

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

获取显示指定组的视图对象。这个方法仅返回关于组的视图对象,要想获取子元素的视图对象,就需要调用 getChildView(int, int, boolean, View, ViewGroup)

参数

groupPosition 组位置(决定返回哪个视图)

isExpanded 该组是展开状态还是伸缩状态

convertView 重用已有的视图对象。注意:在使用前你应该检查一下这个视图对象是否非空并且这个对象的类型是否合适。由此引伸出,如果该对象不能被转换并显示正确的数据,这个方法就会调用 getGroupView(int, boolean, View, ViewGroup) 来创建一个视图(View) 对象。

parent 返回的视图对象始终依附于的视图组。

返回值

返回指定组的视图对象

public abstract boolean hasStableIds ()

组和子元素是否持有稳定的 ID,也就是底层数据的改变不会影响到它们。

返回值

返回一个 Boolean 类型的值,如果为 TRUE,意味着相同的 ID 永远引用相同的对象。

public abstract boolean isChildSelectable (int groupPosition, int childPosition)

是否选中指定位置上的子元素。

参数

groupPosition 组位置(该组内部含有这个子元素)

childPosition 子元素位置

返回值

是否选中子元素

public abstract boolean isEmpty ()

返回值

如果当前适配器不包含任何数据则返回 True。经常用来决定一个空视图是否应该被显示。一个典型的实现将返回表达式 getCount() == 0 的结果,但是由于 getCount() 包含了头部和尾部,适配器可能需要不同的行为。

参见

isEmpty()

public abstract void onGroupCollapsed (int groupPosition)

当组收缩状态的时候此方法被调用。

参数

groupPosition 收缩状态的组索引

public abstract void onGroupExpanded (int groupPosition)

当组展开状态的时候此方法被调用。

参数

groupPosition 展开状态的组位置

public abstract void registerDataSetObserver (DataSetObserver observer)

注册一个观察者(observer),当此适配器数据修改时即调用此观察者。

参数

observer 当数据修改时通知调用的对象。

public abstract void unregisterDataSetObserver (DataSetObserver observer)

取消先前通过 registerDataSetObserver(DataSetObserver) 方式注册进该适配器中的观 察者对象。

参数

observer 取消这个观察者的注册

补充

文章精选

android 可展开(收缩)的列表 ListView(ExpandableListView)

android CursorAdapter 的监听事件

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文