- android
- android.accessibilityservice
- android.accounts
- android.content
- android.database.sqlite
- android.graphics
- android.location
- android.media
- android.net
- android.os
- android.text
- android.view
- android.view.inputmethod
- android.widget
- AbsListView
- AbsoluteLayout
- AbsSeekBar
- AbsSpinner
- AdapterView
- AnalogClock
- BaseAdapter
- BaseExpandableListAdapter
- Button
- CheckBox
- CheckedTextView
- Checkable
- Chronometer
- CompoundButton
- CursorAdapter
- CursorTreeAdapter
- DatePicker
- DialerFilter
- DigitalClock
- EditText
- Filter
- Filter.FilterListener
- Filter.FilterResults
- ExpandableListAdapter
- Filterable
- Gallery
- Gallery.LayoutParams
- GridView
- GridLayout
- RadioGroup
- ImageView
- HorizontalScrollView
- ImageButton
- ImageSwitcher
- FilterQueryProvider
- ListAdapter
- ListView
- MediaController
- QuickContactBadge
- RadioButton
- RatingBar
- RelativeLayout
- RemoteViews
- ResourceCursorAdapter
- ResourceCursorTreeAdapter
- Scroller
- ScrollView
- SearchView
- SeekBar
- SeekBar.OnSeekBarChangeListener
- SimpleAdapter
- SimpleCursorAdapter
- SimpleCursorTreeAdapter
- SimpleExpandableListAdapter
- SlidingDrawer
- Spinner
- SpinnerAdapter
- WrapperListAdapter
- TabHost
- TabHost.TabSpec
- TextView
- TimePicker
- Toast
- TableLayout
- TableRow
- TableRow.LayoutParams
- TabWidget
- TextSwitcher
- ToggleButton
- TwoLineListItem
- VideoView
- ViewAnimator
- ViewFlipper
- ViewSwitcher
- ZoomButtonsController
- ZoomButton
- ZoomControls
- dalvik.system
BaseExpandableListAdapter
BaseExpandableListAdapter
版本:Android 2.3 r1
结构
继承关系
public abstract class BaseExpandableListAdapter extends Object
implements ExpandableListAdapter , HeterogeneousExpandableList
java.lang.Object
android.widget.BaseExpandableListAdapter
子类及间接子类
直接子类
CursorTreeAdapter,SimpleExpandableListAdapter
间接子类
ResourceCursorTreeAdapter , SimpleCursorTreeAdapter
类概述
BaseExpandableListAdapter
是
ExpandableListAdapter
的抽象基类,从一些数据中提供数据和视图给可折叠列表视图。
所有继承本类的 Adapters 需要保证实现的 getCombinedChildId(long, long)
和 getCombinedGroupId(long)
方法能正确地从 View 组或 View 子元素的 ID 中生成唯一的 ID 号。
(译者注:组元素表示可折叠的列表项,子元素表示列表项展开后看到的多个子元素项。由于可折叠列表单纯寻找组元素和子元素的 ID 不是很方便,因此使用联合 ID 的方式来解决。于是有了 getCombinedChildId() 和 getCombinedGroupId() 方法。在 andorid 自带的 ApiDomos 的例子中有这个的代码:App/View/ExpandableList1)。
公共方法
public boolean areAllItemsEnabled ()
是否启用所有元素。
public int getChildType (int groupPosition, int childPosition)
获取由 getChildView(int, int, boolean, View, ViewGroup)
方法创建的指定子元素类型。
参数
groupPosition 子元素所在的组位置
childPosition 子元素所在的位置
返回值
0 表示任意一个子元素类型,因此此时应当只声明一种子元素类型。
public int getChildTypeCount ()
获取由 getChildView(int, int, boolean, View, ViewGroup)
创建的所有子元素类型个数。每种类型表示一个能被 getChildView(int, int, boolean, View, ViewGroup)
转换的(任意组中的)View 集合。如果适配器总是从所有的子元素中返回同一种类型,本方法将返回 1。
本方法将仅仅在 AdapterView 设置适配器时被调用。
返回值
BaseExpandableListAdapter 默认返回 1。
public long getCombinedChildId (long groupId, long childId)
若你预见以下默认实现的 IDs 可能出现冲突,请重写本方法。
实现返回一个 long 型:
l 第 0 位:不管 ID 指向的是一个子元素(未设置)还是一个组(已设置),对于本方法 bit 值为 1.
l 第 1-31 位:小于 31 位的组 ID。
l 第 32-63 位:小于 32 位的子元素 ID。
从列表所有项(组或子项)中获得一个唯一的子 ID 号。可折叠列表要求每个元素(组或子项)在所有的子元素和组中有一个唯一的 ID。本方法负责根据所给的子 ID 号和组 ID 号返回唯一的 ID。此外,若 hasStableIds()
是 true,那么必须要返回稳定的 ID。
参数
groupID 包含该子元素的组 ID
childID 子元素的 ID 号
返回
列表所有项(组或子项)中唯一的(和可能稳定)的子元素 ID 号。
public long getCombinedGroupId (long groupId)
若你预见以下默认实现产生 IDs 冲突的话,请重写本方法。
实现返回一个 long 型:
l 第 0 位:不管 ID 指向的是一个子元素(未设置)还是一个组(已设置),对于本方法 bit 值为 1.
l 第 1-31 位:小于 31 位的组 ID。
l 第 32-63 位:小于 32 位的子元素 ID。
从列表所有项(组或子项)中获得一个唯一的子 ID 号。可折叠列表要求每个元素(组或子项)在所有的子元素和组中有一个唯一的 ID。本方法负责根据所给的子 ID 号和组 ID 号返回唯一的 ID。此外,若 hasStableIds()
是 true,那么必须要返回稳定的 ID。
参数
groupID 包含该子元素的组 ID
返回
列表所有项(组或子项)中唯一的(和可能稳定)的子元素 ID 号。
public int getGroupType (int groupPosition)
获得由 getGroupView(int, boolean, View, ViewGroup)
方法创建的组元素类型。为设置的组元素。
参数
groupPosition
应返回类型所在组的位置
返回
0
表示任意组位置,因此此时应当只申明了一种组类型。
public int getGroupTypeCount ()
返回由 getGroupView(int, boolean, View, ViewGroup) 方法创建的组视图类型个数。每个类型表示一个能被 getGroupView(int, boolean, View, ViewGroup) 转换的 View 集合。如果适配器总是返回同一种组类型,则此时本方法将返回 1.
本方法将仅当适配器被 AdapterView 设置时调用。
返回
BaseExpandableListAdapter 默认返回 1.
public boolean isEmpty ()
(译者注:如果适配器没有任何数据,返回真。参见 Adapter)
public void notifyDataSetChanged ()
(译者注:当后台数据集发生改变时,调用此方法响应数据集的更改。)
参见
public void notifyDataSetInvalidated ()
(译者注:当后台数据集不被验证的时候,调用此方法。)
参见
public void onGroupCollapsed (int groupPosition)
当组折叠的时候被调用。
参数
groupPosition 要折叠的组所在位置
public void onGroupExpanded (int groupPosition)
当组展开的时候被调用。
参数
groupPosition 要折叠的组所在位置
public void registerDataSetObserver (DataSetObserver observer)
(译者注:注册当用该适配器修改数据时调用的观察器。)
public void unregisterDataSetObserver (DataSetObserver observer)
(译者注:注销之前通过 registerDataSetObserver(DataSetObserver)
方法注册到该适配器的观察器。)
补充
文章链接
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论