android中实现带图片和checkbox的listview
项目要用到一个listview,要求是可以显示图片,后面还有有复选框。
先新建一个MyAdapter类,继承自BaseAdapter。在MyAdapter中实现对数据的绑定,我这儿由于是测试的,所以把数据写死了。
上面类中要注意getView()方法中对数据的处理。
convertView可以认为是元素的缓存,因为元素本身没有变化,因此可以判断如果非空,就可以复用。减少重复new新对象,系统不断回收所带来的内存消耗!
具体可以参考这儿的文章:http://marshal.easymorse.com/archives/3944
接下要新建一个list.xml文件,这个就是布局image、textview、checkbox。
android:layout_weight="1"这一句可以使中间的textview权重增大,从而后面的checkbok可以居右显示。
android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
这三句很重要,如果不加就会出现错误。
由于checkbox的点击事件优先级比listview的高,所以要在checkbox中添加android:focusable="false",使得checkbox初始的时候没有获取焦点。
接下来在main.xml中添加Listview组件
接下来就是在activity中调用:
要获取哪些项目被选择了,可以这样测试: