- 浏览: 331844 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
xuanyuanxiaoxue:
...
Android - LayoutInflater -
柴兴博:
不错 多谢
Android 悬浮Activity并可拖动(访悬浮歌词) -
di1984HIT:
写的很好,我收藏一下。
java之动态代理模式(JDK和cglib) -
chinacssnj:
待测试,明天测,测试的结果发给大家
网络开发上传文件到服务器 -
fx_199182:
...
Android之MediaPlayer
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 获取数据的游标对象,它已经移动到正确的位置
isExpanded 该组是否展开状态
parent 新视图 (View) 所依附于的父对象。
用法 这里主要是实现这几个抽象方法
public class CursorTreeAdapterExample extends CursorTreeAdapter { private int mGroupIdColumnIndex; private LayoutInflater mInflater; //注意这里的游标是一级项的 public CursorTreeAdapterExample(Cursor cursor, Context context) { super(cursor, context); mGroupIdColumnIndex = cursor.getColumnIndexOrThrow(Phone._ID); mInflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE); } //注意这里的游标是二级项的 @Override protected void bindChildView(View view, Context context, Cursor cursor, boolean isExpanded) { // Bind the related data with this child view ((TextView)view).setText(cursor.getString(cursor.getColumnIndex(Phone.NUMBER))); } @Override protected void bindGroupView(View view, Context context, Cursor cursor, boolean isExpanded) { // Bind the related data with this group view ((TextView)view).setText(cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME))); } //注意这里通过一次数据库查询才得到了二级项的数据 @Override protected Cursor getChildrenCursor(Cursor groupCursor) { Uri.Builder builder = Phone.CONTENT_URI.buildUpon(); ContentUris.appendId(builder, groupCursor.getLong(mGroupIdColumnIndex)); Uri phoneNumbersUri = builder.build(); // The returned Cursor MUST be managed by us, so we use Activity's helper // functionality to manage it for us. return managedQuery(phoneNumbersUri, new String[] {Phone._ID, Phone.NUMBER}, null, null, null); } @Override protected View newChildView(Context context, Cursor cursor, boolean isExpanded, ViewGroup parent) { Log.d(TAG, "newChildView"); TextView view = (TextView) mInflater.inflate(android.R.layout.simple_expandable_list_item_1, parent, false); view.setText(" (" + cursor.getPosition() + ") " + cursor.getString(cursor.getColumnIndex(Phone.NUMBER))); return view; } @Override protected View newGroupView(Context context, Cursor cursor, boolean isExpanded, ViewGroup parent) { Log.d(TAG, "newGroupView"); TextView view = (TextView) mInflater.inflate(android.R.layout.simple_expandable_list_item_1, parent, false); view.setText(" (" + cursor.getPosition() + ") " + cursor.getString(cursor.getColumnIndex(Phone.DISPLAY_NAME))); return view; } }
本文摘自:http://blog.csdn.net/wanglong0537/article/details/6330676
发表评论
-
Android 漂亮的 Dialog (弹出框)
2012-02-13 23:35 4304在新浪微博Android客户端的开发的课程中呢要用的得自定义的 ... -
ListView的分页显示
2012-01-13 11:22 1237package com.anddev.ListMore.Tes ... -
ProgressBar的圆形和长条形设置
2012-01-12 15:02 0默认的progresbar是圆形的旋转动画: <Pro ... -
把TextView中的文字添加阴影效果及Style的使用
2012-01-12 15:00 2111<TextView android:id=" ... -
GridView动态加载数据情况下,选中状态的实现
2012-01-12 14:57 1516GridView使用AdapterView动态加载数据情况下, ... -
Android中的透明属性的设置
2012-01-12 14:50 1289ui设计时,需要指定某个元素的drawable时,有时候需要告 ... -
简单实现ImageView的加边框颜色的方法
2012-01-12 14:48 2372对于一个ImageView,如果我们要加上边框,比如宽为3dp ... -
android ,点击title的ImageView弹出PopupWindow【安卓进化七】
2011-12-03 10:33 1425一、曾经做过一个项目,用的大概就是这种布局,title布局,t ... -
Android之PopupWindow弹出对话框
2011-12-03 09:40 4111Android 的 对话框常 ... -
Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
2011-12-02 09:43 786我们在开发程序是经常会需要软件全屏显示、自定义标题(使用按钮等 ... -
Android GestureDetector 手势基础
2011-12-01 16:34 13111. 当用户触摸屏幕的时候,会产生许多手势,例如dow ... -
Android GestureDetector手势识别类
2011-12-01 14:26 2795为了加强鼠标响应事件,Android提供了GestureDet ... -
android之Tabhost深入讲解二
2011-11-29 09:18 2691之前一直认为TabHost不够灵活而使用Activit ... -
android之Tabhost深入讲解一
2011-11-28 21:46 1704大家都知道Tabhost中Tabwidget的布局是图标在上, ... -
Android中的view
2011-11-21 15:02 1189View类是Android的一个超类,这个类几乎包含了所有的屏 ... -
Android自定义View之一:初探实例 .
2011-11-21 14:53 849Android自定义View实现很简单 继承View,重写构 ...
相关推荐
端口详解 端口详解 端口详解 端口详解 端口详解
dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解dm分区详解...
路由配置路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解及案例路由配置详解...
在udhcp源码详解(一)中,可能会详细介绍这些模块的基本功能和相互关系。配置文件解析是udhcp启动时的关键步骤,它读取用户的配置参数,如IP地址池、租约时间等。内存管理则涉及到如何有效地存储和检索DHCP请求和...
gpiogpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用实例gpio详解及应用...
C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++编程实例详解C++...
MATLAB通信仿真及应用实例详解pdf-MATLAB通信仿真及应用实例详解.part03.rar 论坛里有兄弟发过了。但是出了问题,这次补充一个完整的。 MATLAB通信仿真及应用实例详解.part09.rar ...
gcc参数详解 gcc参数详解 gcc参数详解 gcc参数详解
cisco最完美的ACL配置详解及配置全过程cisco最完美的ACL配置详解及配置全过程cisco最完美的ACL配置详解及配置全过程cisco最完美的ACL配置详解及配置全过程cisco最完美的ACL配置详解及配置全过程cisco最完美的ACL配置...
Labview实用工具详解源码第三部分,压缩包比较大,分八个上传。
上传限制无奈分卷压缩 一共12卷 要12卷在同目录才可以解压 给大家带来不便请你们谅解 VC++深入详解pdf版 VC++深入详解 VC++深入详解电子档
TCP/IP详解系列是由W. Richard Stevens撰写的经典网络技术书籍,包括《TCP/IP详解 卷一:协议》、《TCP/IP详解 卷二:实现》和《TCP/IP详解 卷三:TCP事务》。这套书深入浅出地阐述了TCP/IP协议族的各个层面,是网络...
BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解BMP文件格式详解
xshellxshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析xshell详解及实际案例分析...
基于Python金融大数据挖掘与分析全流程详解案例代码.zip基于Python金融大数据挖掘与分析全流程详解案例代码.zip基于Python金融大数据挖掘与分析全流程详解案例代码.zip基于Python金融大数据挖掘与分析全流程详解案例...
MATLAB通信仿真及应用实例详解pdf-MATLAB通信仿真及应用实例详解.part08.rar 论坛里有兄弟发过了。但是出了问题,这次补充一个完整的。 MATLAB通信仿真及应用实例详解.part09.rar ...
MATLAB通信仿真及应用实例详解pdf-MATLAB通信仿真及应用实例详解.part07.rar 论坛里有兄弟发过了。但是出了问题,这次补充一个完整的。 MATLAB通信仿真及应用实例详解.part09.rar ...
液晶驱动详解(想写驱动的朋友请进!).zip液晶驱动详解(想写驱动的朋友请进!).zip液晶驱动详解(想写驱动的朋友请进!).zip液晶驱动详解(想写驱动的朋友请进!).zip液晶驱动详解(想写驱动的朋友请进!).zip液晶驱动详解(想...
MATLAB通信仿真及应用实例详解pdf-MATLAB通信仿真及应用实例详解.part05.rar 论坛里有兄弟发过了。但是出了问题,这次补充一个完整的。 MATLAB通信仿真及应用实例详解.part09.rar ...
c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 c语言指针详解 ...