©
이 문서에서는PHP 중국어 웹사이트 매뉴얼풀어 주다
ExpandableListAdapter
翻译时间:2011-1-25
版本:Android 3.0 r1
结构
继承关系
public interfaceExpandableListAdapter
android.widget.ExpandableListAdapter
子类及间接子类
间接子类BaseExpandableListAdapter,CursorTreeAdapter,ResourceCursorTreeAdapter, SimpleCursorTreeAdapter, SimpleExpandableListAdapter
类概述
这个适配器在ExpandableListView
和底层数据之间起到了一个衔接的作用。该接口的实现类提供了访问子元素(以组的形式将它们分类)的数据;同样,也提供了为子元素和组创建相应的视图。
公共方法
public abstract booleanareAllItemsEnabled()
ExpandableListAdapter里面的所有条目都可用吗?如果是yes,就意味着所有条目可以选择和点击了。
返回值
返回True表示所有条目均可用。
参见
areAllItemsEnabled()
public abstract CursorgetChild(int groupPosition, int childPosition)
获取指定组中的指定子元素数据。
参数
groupPosition组位置(该组内部含有子元素)
childPosition子元素位置(相对于其它子元素)
返回值
返回指定子元素数据。
public abstract longgetChildId(int groupPosition, int childPosition)
获取指定组中的指定子元素ID,这个ID在组里一定是唯一的。联合ID(参见getCombinedChildId(long, long)
)在所有条目(所有组和所有元素)中也是唯一的。
参数
groupPosition组位置(该组内部含有子元素)
childPosition子元素位置(相对于其它子元素)
返回值
子元素关联ID。
public abstract ViewgetChildView(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 intgetChildrenCount(int groupPosition)
获取指定组中的子元素个数
参数
groupPosition组位置(决定返回哪个组的子元素个数)
返回值
指定组的子元素个数
public abstract longgetCombinedChildId(long groupId, long childId)
从列表所有项(组或子项)中获得一个唯一的子ID号。可折叠列表要求每个元素(组或子项)在所有的子元素和组中有一个唯一的ID。本方法负责根据所给的子ID号和组ID号返回唯一的ID。此外,若hasStableIds()是true,那么必须要返回稳定的ID。
参数
groupId包含该子元素的组ID
childId子元素的ID
返回值
列表所有项(组或子项)中唯一的(和可能稳定)的子元素ID号。(译者注:ID理论上是稳定的,不会发生冲突的情况。也就是说,这个列表会有组、子元素,它们的ID都是唯一的。)
public abstract CursorgetGroup(int groupPosition)
获取指定组中的数据
参数
groupPosition组位置
返回值
返回组中的数据,也就是该组中的子元素数据。
public abstract intgetGroupCount()
获取组的个数
返回值
组的个数
public abstract longgetGroupId(int groupPosition)
获取指定组的ID,这个组ID必须是唯一的。联合ID(参见getCombinedGroupId(long)
)在所有条目(所有组和所有元素)中也是唯一的。
参数
groupPosition组位置
返回值
返回组相关ID
public abstract ViewgetGroupView(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 booleanhasStableIds()
组和子元素是否持有稳定的ID,也就是底层数据的改变不会影响到它们。
返回值
返回一个Boolean类型的值,如果为TRUE,意味着相同的ID永远引用相同的对象。
public abstract booleanisChildSelectable(int groupPosition, int childPosition)
是否选中指定位置上的子元素。
参数
groupPosition组位置(该组内部含有这个子元素)
childPosition子元素位置
返回值
是否选中子元素
public abstract booleanisEmpty()
返回值
如果当前适配器不包含任何数据则返回True。经常用来决定一个空视图是否应该被显示。一个典型的实现将返回表达式getCount() == 0的结果,但是由于getCount()包含了头部和尾部,适配器可能需要不同的行为。
参见
isEmpty()
public abstract voidonGroupCollapsed(int groupPosition)
当组收缩状态的时候此方法被调用。
参数
groupPosition收缩状态的组索引
public abstract voidonGroupExpanded(int groupPosition)
当组展开状态的时候此方法被调用。
参数
groupPosition展开状态的组位置
public abstract voidregisterDataSetObserver(DataSetObserver observer)
注册一个观察者(observer),当此适配器数据修改时即调用此观察者。
参数
observer当数据修改时通知调用的对象。
public abstract voidunregisterDataSetObserver(DataSetObserver observer)
取消先前通过registerDataSetObserver(DataSetObserver)方式注册进该适配器中的观察者对象。
参数
observer取消这个观察者的注册
补充
文章精选
android可展开(收缩)的列表ListView(ExpandableListView)
android CursorAdapter的监听事件