CursorTreeAdapter 通过该适配类可以用一连续的游标 (Coursor)对象访问数据库,并将查询出来的数据展示到可伸缩的列表视图
(ExpandableListView)部件上。顶层游标 (Cursor)对象 (在构造器中指定 )显示全部组,后面的游标 (Cursor)对象从getChildrenCursor(Cursor)
获取并展示子元素组。其中游标携带的结果集中必须有个名为“ _id”的列,否则这个类不起任何作用
结构
public abstract class CusrorTreeAdapter
extends BaseExpandableListAdpater implements Filterable
java.lang.Object
android.widget.BaseExpandableListAdapter
android.widget.CursorTreeAdapter
直接子类
ResourceCursorTreeAdapter
间接子类
SimpleCursorTreeAdapter
构造函数
public CursorTreeAdapter (Cursor cursor, Context context)
构造函数。每当数据库的数据发生改变时,适配器将调用 requery()重新查询以显示最新的数据。
参数
cursor 为组 (groups)提供数据的游标 (Coursor)
context 应用程序上下文。
public CursorTreeAdapter (Cursor cursor, Context context, boolean autoRequery)
构造函数。
参数
cursor 为组 (groups)提供数据的游标 (Coursor)
context 应用程序上下文。
autoRequery 设置为 true时,每当数据库的数据发生改变时,适配器将调用 requery()重新查询以显示最新的数据。
抽象方法
protected abstract void bindChildView (View view, Context context, Cursor cursor, boolean isLastChild)
用游标 (Coursor)的方式将子元素数据绑定在一个已存在的视图 (View)对象上。
参数
view 已存在的视图 (View)对象 , 也就是之前 new出来的。
context 应用程序上下文对象
cursor 获取数据的游标对象,它已经移动到正确的位置
IsLastChild 子元素是否处于组中的最后一个
protected abstract void bindGroupView (View view, Context context, Cursor cursor, boolean isExpanded)
用游标 (Coursor)的方式将组数据绑定在一个已存在的视图 (View)对象上。
参数
view 已存在的组视图 (View)对象 , 也就是早先 new出来的。
context 应用程序上下文对象,它已经移动到正确的位置
cursor 获取数据的游标对象
isExpanded 该组是展开状态还是伸缩状态
protected abstract Cursor getChildrenCursor (Cursor groupCursor)
获取指定组中的子元素游标对象。子类必须实现这个方法,用于在指定组中返回子元素数据。
如果你想用异步查询的方式避免 UI阻塞的情况发生,可能会返回 null或是在稍后调用 setChildrenCursor(int, Cursor)
。
你有责任在 Activity生命周期中管理这个游标对象,有一个非常好的思路:使用 managedQuery(Uri, String[], String, String[], String)
来管理它们。 在某些情况下,适配器本身会使游标停止工作,但这个特例不会总是出现,所以我们要确保有效地管理好游标对象。
参数
groupCursor 组游标对象,决定返回哪个组中的子元素游标对象。
返回值
返回指定组中的子元素游标对象或者为 null。
protected abstract View newChildView (Context context, Cursor cursor, boolean isLastChild, ViewGroup parent)
创建一个新的子元素视图并持有指向数据的游标 cursor。
参数
context 应用程序上下文对象
cursor 获取数据的游标对象,它已经移动到正确的位置
IsLastChild 子元素是否处于组中的最后一个
parent 新视图 (View)所依附于的父对象。
protected abstract View newGroupView (Context context, Cursor cursor, boolean isExpanded, ViewGroup parent)
创建一个新的组视图并持有组中指向数据的游标 cursor。
参数
context 应用程序上下文对象
cursor 获取数据的游标对象,它已经移动到正确的位置
isExpanded 该组是否展开状态
parent 新视图 (View) 所依附于的父对象。
用法 这里主要是实现这几个抽象方法