吉网

android自定义listview教程 android ListView自定义开发实例

导读 大家好,我是新广网的客服小柏,我来为大家解答以上问题。android自定义listview教程,android,ListView自定义开发实例很多人还不知道,现...

大家好,我是新广网的客服小柏,我来为大家解答以上问题。android自定义listview教程,android,ListView自定义开发实例很多人还不知道,现在让我们一起来看看吧!

解答:

1、 新建一个机器人项目,名称为ListViewAuto,其余参数可以自己配置,点击完成,生成项目文件

2、 完成列表要展示的选项实例类,项目视图,其中属性有

3、 //要展示的图片信息

4、 私有图片图像;

5、 //标题信息

6、 私有文本视图标题;

7、 //按钮信息

8、 私人按钮按钮;

9、 然后生成对应获取,设置方法

10、 设置配置文件,main.xml

11、 声明身份以及长宽属性

12、 列表视图

13、 android:id='@ id/listInfo '

14、 Android : layout _ width=' fill _ parent '

15、 Android : layout _ height=' wrap _ content '/list view

16、 设置列表视图中各个选项的样式配置文件列表视图. xml声明一个图片展示图片,文本视图展示文本信息,按钮展示按钮信息

17、 实现自定义适配器,必须手动映射数据,这时就需要重写getView()方法,系统在绘制列表的每一行的时候将调用此方法列表视图在开始绘制的时候,系统自动调用getCount()函数,根据函数返回值得到列表视图的长度,然后根据这个长度,调用getView()逐一画出每一行。主要展示getView()方法实现

18、 //展示记录信息

19、 @覆盖

20、 公共视图getView(int position,View convertView,ViewGroup parent) {

21、 //TODO自动生成的方法存根

22、 ItemView项目=null

23、 if(convertView==null){

24、 item=新项目视图();

25、 //获得组件,实例化组件

26、 convert view=layoutinflate。膨胀(r .布局。listview,null);

27、 项目。setimage((ImageView)转换视图。findviewbyid(r . id。ImageView));

28、 项目。settitle((TextView)转换视图。findviewbyid(r . id。标题));

29、 项目。设置按钮((按钮)转换视图。findviewbyid(r . id。按钮));

30、 //这个步骤很重要!

31、 //可以使用设置标签把查找的视角缓存起来方便多次重用

32、 转换视图。settag(项目);

33、 }否则{

34、 item=(项目视图)转换视图。gettag();

35、 }

36、 //绑定数据,将传入数据进行逐个赋值

37、 item.getImage().setBackgroundResource((整数)数据。获得(职位).get(' imageView ');

38、 item.getTitle().setText(字符串)data.get(位置)。get(' title ');

39、 item.getButton().setText(字符串)data.get(位置)。get(' button '));

40、 返回convertView

41、 }

42、 下面是自定义适配器ListViewAdapter的代码图例

43、 主体函数编写,先是找到列表视图控件,将数据放入适配器中,进行数据展示

44、 公共类ListViewAutoShow扩展活动{

45、 /**首次创建活动时调用。*/

46、 私有ListView listInfo=null

47、 @覆盖

48、 创建时的公共void(绑定保存的实例状态){

49、 超级棒。oncreate(savedInstanceState);

50、 setContentView(r . layout。main);

51、 listInfo=(ListView)findViewById(r . id。listInfo);

52、 ListMapString,Object result=get data();

53、 listInfo.setAdapter(新ListViewAdapter(this,result));

54、 }

55、 public ListMapString,Object getData() {

56、 //TODO自动生成的方法存根

57、 ListMapString,Object list=new ArrayListMapString,Object();

58、 for(int I=0;i 10i ) {

59、 MapString,Object map=new HashMapString,Object();

60、 map.put('imageView ',r . drawable。ico _ info);

61、 map.put('title ','标题信息I);

62、 map.put('button ','查看按钮I);

63、 list.add(地图);

64、 }

65、 退货单;

66、 }

67、 }

68、 运行程序,观察运行结果

本文到此讲解完毕了,希望对大家有帮助。