Android BaseAadapter适配器

前言

最近和室友一起想弄一个带饭的app,在局域网内有数据库交互的那种平台软件,当然做一定会很简陋功能不全,但仅仅是尝试。带饭的界面上应该有个ListView,里面显示各种饭的信息,然后点击可以看到详细信息,像美团那种,关于这个我就不知道怎么弄了,用前一篇日志的两种简单适配器好像无法做到自动给每个item设置事件,于是学习了一下BaseAdapter。现在我依然没有实现设置事件,但学习了三种BaseAdapter写法,作为记录和分享。


BaseAdapter与其他简单适配器有什么区别?

其实其他的几个简单适配器,如ArrayAdapter,SimpleAdapter,都是继承自BaseAdapter,这里我不是直接用BaseAdapter,而是去继承BaseAdapter然后重写方法。


BaseAdapter简单方法

1.先创建布局文件。布局文件做两个,一个是普通界面,里面有一个listview并设置一个id,另一个界面是item界面,是具体每个条目界面,这里我的item左边一张图片,右边2个TextView。
2.写一个Itembean的Java文件,保存item的数据
3.写安卓的Activity文件,这个文件里添加item个数和数据
4.重写BaseAdapter.先定义一个私有的动态数组,接收数据源。小幅改动自动生成的4个函数,核心在于完成 getView这个方法,实际就是找到id然后显示出来
详细的情况,我会发在csdn资源里用作保存


BaseAdapter进阶方法

把一般方法每次都找界面改成了如下

if (convertView == null) {
            convertView = mInflater.inflate(R.layout.item, null);
}

目的好像是如果界面缓存了,就不会在生成,就是利用了ListView缓存机制,提升了性能。


BaseAdapter优化方法

使用了ViewHolder。
创建内部类ViewHolder,对应布局内控件属性通过setTag将ViewHolder与convertView绑定
getTag()取出关联的ViewHolder
通过ViewHolder对象找到对应控件
通过ViewHolder类实现显示数据的视图的缓存,目的避免多次通过findViewById找id

资源链接:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值