安卓开发(4):ListView的使用,arrayAdapter,simpleAdapter

ListView是安卓里面一个比较实用的部件,是安卓列表形式展示每一项内容,类似于微信的会话列表吧。

在布局里的用法比较简单:


这样剧创建了一个空的列表,然后要在.java中填充数据。填充数据用到Adapter,常用的Adapter一般有ArrayAdapter、SimpleAdapter,但这两个功能都有限,自定义Adapter当然能满足更多需求。

ArrayAdapter

先上代码:

operationList是你获得的ListView,operations是要放的数据,创建Adapter的参数有context上下文(MainActivity.this),textViewResourceId(资源id,代表一个textView,也可以使用系统提供的默认布局,即不用自己创建也可以),数组或List。

这个Adapter的缺点就是只能显示字符串,实现的功能比较单一。

SimpleAdapter


这个是要显示的列表中每一项的布局R.layout.item,然后数据data是这样的:


data是一个list,里面每一项都是键值对(Map表示),创建时:


参数有:context,键值对数组,单项的布局资源,string数组(指明data中哪些键的值要取出来),布局中的部件id数组(跟上一个参数一一对应,上一个参数的每一个值对应这里每一个部件的值)

效果是这样的:



接下来讲讲ListView的触发事件:

类似于button添加监听器:


注意返回值i与l,i是点击的这一项在列表中的位置,l是这一项的id,这两种Adapter中i与l是相等的。

有一个小问题要注意的是长按item如果同时触发了短按事件,那就是长按事件中返回了true,改成false就好。

动态增删数据

可以对data(键值对数组)进行增删操作。但是同时要用Adapter来调用notifyDataSetChanged()才可以正常更新列表显示:


但是不能把data指向一个新地址:



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值