Android之自定义Adapter的ListView

        在开发中,我们经常使用到ListView这个控件。Android的API也提供了许多创建ListView适配器的快捷方式。例如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等。但你是否发现,如果采用这些系统自带的适配器,对于事件的响应只能局限在一个行单位。假设一行里面有一个按钮和一个图片控件,它们之间的响应操作是不一样的。若采用系统自带的适配器,就不能精确到每个控件的响应事件。这时,我们一般采取自定义适配器来实现这个比较精确地请求。

       ListView的创建,一般要具备两大元素:

       1)数据集,即要映射的字符串、图片信息之类。

       2)适配器,实现把要映射的字符串、图片信息映射成视图(如Textview、Image等组件),再添加到ListView中。

       下面是一个实操例子:

       实现细节:

       1、创建数据集,一般定义如下

        private List<Map<String, Object>> listItems;

        元素添加方式:

        Map<String, Object> map = new HashMap<String, Object>();
        map.put("image", imgeIDs[i]);          //图片资源
        map.put("title", "物品名称:");           //物品标题
        map.put("info", goodsNames[i]);      //物品名称
        map.put("detail", goodsDetails[i]);   //物品详情
        listItems.add(map);                         //添加一项

        2、创建适配器

        public class ListViewAdapter extends BaseAdapter{........}  //自定义的适配器一般继承BaseAdapter类

        listViewAdapter = new ListViewAdapter(this, listItems);

        3、给ListView设置适配器

        listView.setAdapter(listViewAdapter);

        4、这里还有个关键点,如何把list_item.xml布局作为一个视图,添加到listView中:

        LayoutInflater listContainer;   //视图容器工厂

        listContainer = LayoutInflater.from(context); //创建视图容器工厂并设置上下文

        convertView = listContainer.inflate(R.layout.list_item, null);   //创建list_item.xml布局文件的视图

       

        实例视图如下:

              

 

                 

              

        1)布局文件main.xml

        

       列表项布局文件list_item.xml

       

        2)代码,主代码:

        

        适配器代码:

       

        至于,如何实现系统自带的适配器,如ArrayAdapter、SimpleAdapter和SimpleCursorAdapter等,有机会再补充。

  • 0
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值