- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
ListView:在Android应用开发过程中属于最常用的系统组件之一,当然可能同学们问为什么会突然游戏开发中讲这个,呵呵,其实在游戏开发中,也会常常使用到系统组件,比如游戏排行榜,简单的游戏关卡选择等等,都可以来使用
ListView来实现;
当然关于ListView我想大家都会使用了,那么这篇文章也不是跟大家讲解
ListView是如果使用的,而是如何自定义通用适配器类;
在ListView三种适配器当中,最受大家青睐的肯定就是SimpleAdapter适配器,用过的童鞋们都很清楚,它的扩展性很强,可以将ListView中每一项都使用自定义布局,插入N多组件;但是SimpleAdapter也有弱点,那就是当ListView中每一项有Button、CheckBox等这些有事件的组件,我们想监听它们就必须自定义适配器!那么今天的重点也就是来讲解一下如何写一个自定义通用适配器类!
SimpleAdapter构造的时候,我们知道需要五个参数来进行映射数据到ListView中,那么我们今天的自定义通用适配器其实也就是实现系统SimpleAdapter的一个自定义版;
OK,可能我说这么多,大家还是不太懂,其实今天要讲述的自定义通用适配器优点有两点:
使用通用适配器就不需要每次使用自定义适配器的时候,都要去重新去写一个,太累。。。。
构造方法与SimpleAdapter构造方法相同,五个参数也一摸一样!
只需要在自定义的适配器类中,将我们需要监听的组件进行设置监听即可!别的代码不需要去改动!
例如我们需要完成下图这种ListView:
(图1)
首先我们来完成ListView中每项的布局:main.xml:
?xmlversion=1.0encoding=utf-8?
LinearLayoutxmlns:android=/apk/res/android
android:orientation=horizontalandroid:layout_width=fill_parentandroid:layout_height=fill_parent
ImageViewandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:id=@+id/iv
/
LinearLayoutandroid:orientation=verticalandroid:layout_width=wrap_contentandroid:layout_height=wrap_content
TextView
android:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:textSize=20sp
android:id=@+id/bigtv
/
TextView
android:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:textSize=10spandroid:id=@+id/smalltv
/
/LinearLayout
Button
android:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:text=buttonandroid:id=@+id/btn
/
CheckBoxandroid:layout_width=wrap_contentandroid:layout_height=wrap_contentandroid:id=@+id/cb
/
/LinearLayout
复制代码
修改源码:MainActivity.java :
publicclassMainActivityextendsActivity{
privateSimpleAdapteradapter;//声明适配器对象
privateListViewlistView;//声明列表视图对象
privateListMapString,Objectlist;//声明列表容器
publicstaticMainActivityma;@Override
publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);
ma=this;
//实例化列表容器
list=newArrayList
您可能关注的文档
- 20092010年中国物流行业研究报告.docx
- 20100727 对外汉语教材 第11课 单词.docx
- 20102020上海轨道交通规划图.docx
- 20112012年我国校园一卡通市场分析与研究报告.docx
- 20122013学年第一学期手语社活动计划.docx
- 20122014年法定节假日.docx
- 20142015年第一学期扬州市江都区九年级期末英语调研试卷.docx
- 20142015年第一学期扬州市江都区九年级期末语文调研试卷.docx
- 20152016山东高速男篮赛程表.docx
- 20152020年中国汽车零部件行业分析报告.docx
- 2024精简护肤洁面趋势报告-TMIC-30正式版.doc
- 2024捕捉华夏民族珍味-咸味主食与咸味零食创新机遇报告-25正式版.doc
- 2024年秋季部编版小学道德与法治二年级上册全册课件PPT必威体育精装版.pptx
- 部编版第十一册第四单元拓展提高教学课件.ppt
- 2024年秋季新西师大版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册教学课件(新版教材).pptx
- 2024年秋季新人教版数学一年级上册全册课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册教学课件(新版教材).pptx
- 2024年秋季新人教版一年级上册数学全册课件(新版教材).pptx
文档评论(0)