listview学习之simpleadapter详细介绍

今天我们继续来学习adapter,这次要介绍的是simpleadapter,稍微了解的都知道对于这个适配器我们通常会说这样一句话,simpleadapter其实不简单,从字面意思上觉得这个适配器应该比较简单,但是他确是扩展性非常好的一个适配器,相比较arrayadapter而言,simpleadapter不仅可以显示文本信息还可以 显示更多的内容,例如图片,按钮等等,可以说我们在日常开发中使用simpleadapter的频率还是比较高的,那么今天我们就来探讨一下这个适配器吧!

首先我们依然从simpleadapter的构造方法说起,他只有一个构造方法如下


我们来分析一下构造函数当中的参数,首先看第一个参数,这个上下文参数比较常见了,这里就不做解释了,重点是接下来的几个参数。

第二个参数:首先它肯定是一个数据源,而且要求是一个list集合,同时集合中的每一个元素是一个map集合

第三个参数:同arrayadapter构造方法中的参数一样,表示自定义布局的xml文件id

第四个参数:一个字符串集合,其中集合中的每一个值是数据源map集合中需要映射的键的值

第五个参数:一个整型集合,其中的每一个元素是布局文件中的显示数据的控件的id,与第四个参数的每个值是一一对应关系

比较难理解的是第四个参数和第五个参数,这两个参数要结合来看,字符串数组中的每一个值与整型数组的每一个值是一一对应关系,从在界面显示的任意一个数据项来看,字符串数组是要显示的数据的键的集合(数据是采用键值对存取),整型数组展示要显示数据的UI组件的的Id,每个数据项的显示都是将字符串数组中的每一个键所对应的数据取出,放置在与之对应的整型数组中每个元素所对应的UI组件上显示出来。
SimpleAdapter的关键点就在它的构造方法上,且它只有一个构造方法。
下面我们用到实际代码中来看一下

另外关于simpleadapter比较重要的一点是它使用的数据一般都是hashmap构成的list,list的每一节对应listview的每一行。


小贴士: 
使用SimpleAdapter的数据一般都是HashMap构成的List,list的每一节对应 
ListView的每一行。HashMap的每个键值数据映射到布局文件中对应id的组件上。 
由于系统没有可对应的布局文件使用,那么我们可以自己定义一个布局main.xml; 
适配过程:new一个SimpleAdapter对象; 
参数1:this; 
参数2:数据 
参数3;布局文件,main.xml用于显示在列表行上的布局文件; 
参数4:HashMap的title info img ; 
参数5:布局文件的组件id; title info img 


原文地址:https://www.cnblogs.com/ithuangqing/p/12113709.html