`
kanwoerzi
  • 浏览: 1647574 次
文章分类
社区版块
存档分类
最新评论

SimpleCursorTreeAdapter

 
阅读更多
publicabstractclass
SimpleCursorTreeAdapter
extendsResourceCursorTreeAdapter
java.lang.Object
android.widget.BaseExpandableListAdapter
android.widget.CursorTreeAdapter
android.widget.ResourceCursorTreeAdapter
android.widget.SimpleCursorTreeAdapter
ClassOverview
AneasyadaptertomapcolumnsfromacursortoTextViewsorImageViewsdefinedinanXMLfile.
Youcanspecifywhichcolumnsyouwant,
whichviewsyouwanttodisplaythecolumns,
andtheXMLfilethatdefinestheappearanceoftheseviews.
SeparateXMLfilesforchildandgroupsarepossible.Bindingoccursintwophases.
First,ifaSimpleCursorTreeAdapter.ViewBinderisavailable,setViewValue(android.view.View,
android.database.Cursor,int)isinvoked.
Ifthereturnedvalueistrue,bindinghasoccurred.
IfthereturnedvalueisfalseandtheviewtobindisaTextView,setViewText(TextView,String)isinvoked.
IfthereturnedvalueisfalseandtheviewtobindisanImageView,setViewImage(ImageView,String)isinvoked.
Ifnoappropriatebindingcanbefound,anIllegalStateExceptionisthrown.

<wbr style="line-height:25px"><span style="line-height:25px">SimpleCursorTreeAdapter</span><span style="color:#003366; line-height:25px">继承于ResourceCursorTreeAdapter。<br style="line-height:25px"> 它为cursor和ExpandableListView提供了连接的桥梁。<br style="line-height:25px"> 它提供把cursor的数据绑定到Group和child的布局文件中的控件的功能。绑定的控件只能是TextView和ImageView</span><br style="line-height:25px"> SimpleCursorTreeAdapter的子类:<br style="line-height:25px"> 无<br style="line-height:25px"> 他实现了来自于ResourceCursorTreeAdapter的两个方法:<br style="line-height:25px"> bindChildView,bindGroupView<br style="line-height:25px"> 但使用CursorTreeAdapter还需要实现下面一个方法:<br style="line-height:25px"><span style="color:#3366ff; line-height:25px">ProtectedMethods abstractCursorgetChildrenCursor(CursorgroupCursor)<br style="line-height:25px"> GetstheCursorforthechildrenatthegivengroup.</span><br style="line-height:25px"><span style="line-height:25px">注:</span>关于cursor的数据到Group和child的布局文件中控件的绑定机制和SimpleCursorAdapter差不多<span style="line-height:25px">。</span><br style="line-height:25px"> 具体可参考《<strong><a title="阅读全文" target="_blank" href="http://hubingforever.blog.163.com/blog/static/1710405792010431621954/" style="color:rgb(207,121,28); line-height:25px; text-decoration:none">SimpleCursorAdapter</a></strong></wbr>

importandroid.app.ExpandableListActivity;
importandroid.content.ContentUris;
importandroid.content.Context;
importandroid.database.Cursor;
importandroid.net.Uri;
importandroid.os.Bundle;
importandroid.provider.ContactsContract.CommonDataKinds.Phone;
importandroid.widget.ExpandableListAdapter;
importandroid.widget.SimpleCursorTreeAdapter;
publicclassExpandableListSample2XmlextendsExpandableListActivity{
privateintmGroupIdColumnIndex;
privateStringmPhoneNumberProjection[]=newString[]{
Phone._ID,Phone.NUMBER
};
privateExpandableListAdaptermAdapter;
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
//Queryforpeople
CursorgroupCursor=managedQuery(Phone.CONTENT_URI,
newString[]{Phone._ID,Phone.DISPLAY_NAME},null,null,null);
//CachetheIDcolumnindex
mGroupIdColumnIndex=groupCursor.getColumnIndexOrThrow(Phone._ID);
//Setupouradapter
mAdapter=newMyExpandableListAdapter(groupCursor,
this,
android.R.layout.simple_expandable_list_item_1,//这个是系统的
android.R.layout.simple_expandable_list_item_1,//这个是系统的
newString[]{Phone.DISPLAY_NAME},//Nameforgrouplayouts
newint[]{android.R.id.text1},//用于显示的标签,也是系统的
newString[]{Phone.NUMBER},//Numberforchildlayouts
newint[]{android.R.id.text1});//用于显示的标签,也是系统的
setListAdapter(mAdapter);
}
publicclassMyExpandableListAdapterextendsSimpleCursorTreeAdapter{
publicMyExpandableListAdapter(Cursorcursor,Contextcontext,intgroupLayout,
intchildLayout,String[]groupFrom,int[]groupTo,String[]childrenFrom,
int[]childrenTo){
super(context,cursor,groupLayout,groupFrom,groupTo,childLayout,childrenFrom,
childrenTo);
}
//注意二级项数据在这里取得
@Override
protectedCursorgetChildrenCursor(CursorgroupCursor){
//Giventhegroup,wereturnacursorforallthechildrenwithinthatgroup
//Returnacursorthatpointstothiscontact'sphonenumbers
Uri.Builderbuilder=Phone.CONTENT_URI.buildUpon();
ContentUris.appendId(builder,groupCursor.getLong(mGroupIdColumnIndex));
UriphoneNumbersUri=builder.build();
//ThereturnedCursorMUSTbemanagedbyus,soweuseActivity'shelper
//functionalitytomanageitforus.
returnmanagedQuery(phoneNumbersUri,mPhoneNumberProjection,null,null,null);
}
}
}
分享到:
评论

相关推荐

    【车牌识别】 GUI BP神经网络车牌识别(带语音播报)【含Matlab源码 668期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【作业视频】六年级第1讲--计算专项训练(2022-10-28 22-51-53).mp4

    【作业视频】六年级第1讲--计算专项训练(2022-10-28 22-51-53).mp4

    3文件需求申请单.xls

    3文件需求申请单.xls

    【脑肿瘤检测】 GUI SOM脑肿瘤检测【含Matlab源码 2322期】.zip

    【脑肿瘤检测】 GUI SOM脑肿瘤检测【含Matlab源码 2322期】

    GOGO语言基础教程、实战案例和实战项目讲解

    GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解GO语言基础教程、实战案例和实战项目讲解

    全国计算机等级考试二级笔试样卷C语言程序设计

    全国计算机等级考试二级笔试样卷C语言程序设计主要考察考生对C语言编程的基础知识、语法和编程能力的掌握程度。考试内容主要包括C语言程序的结构、数据类型及其运算等基础知识,以及循环、条件语句、函数等编程能力。

    Excel模板个人简历文艺清新单页01.docx

    Excel模板个人简历文艺清新单页01.docx

    【图像边缘检测】自适应阈值的八方向和四方向sobel图像边缘检测【含Matlab源码 2058期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    HC070-3.5标定版描述文件及标定版ps文件

    HC070-3.5标定版描述文件及标定版ps文件

    【目标跟踪】 GUI帧差法结合卡尔曼滤波行人姿态识别【含Matlab源码 1127期】.zip

    【目标跟踪】 GUI帧差法结合卡尔曼滤波行人姿态识别【含Matlab源码 1127期】

    ISO文件电子文档发文删文记录表.xls

    ISO文件电子文档发文删文记录表.xls

    【红绿灯识别】机器视觉红绿灯识别【含Matlab源码 4044期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【图像去噪】稀疏表示KSVD彩色图像去噪(含PSNR)【含Matlab源码 4261期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    node-v0.10.48-sunos-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v0.10.48-linux-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    PREEvision关于ECU软件与诊断设计的一致性功能

    PREEvision关于ECU软件与诊断设计的一致性功能

    6c148dfb275925c73ba1861abbac5235.amr

    6c148dfb275925c73ba1861abbac5235.amr

    【图像隐写】 Jsteg算法JPEG图像信息隐藏(可设置DCT系数 嵌入率)【含Matlab源码 4235期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

    【跌倒检测】 GUI人体跌倒检测系统【含Matlab源码 2428期】.zip

    Matlab领域上传的视频均有对应的完整代码,皆可运行,亲测可用,适合小白; 1、代码压缩包内容 主函数:main.m; 调用函数:其他m文件;无需运行 运行结果效果图; 2、代码运行版本 Matlab 2019b;若运行有误,根据提示修改;若不会,私信博主; 3、运行操作步骤 步骤一:将所有文件放到Matlab的当前文件夹中; 步骤二:双击打开main.m文件; 步骤三:点击运行,等程序运行完得到结果; 4、仿真咨询 如需其他服务,可私信博主或扫描视频QQ名片; 4.1 博客或资源的完整代码提供 4.2 期刊或参考文献复现 4.3 Matlab程序定制 4.4 科研合作

Global site tag (gtag.js) - Google Analytics