Android——Adapter

本文介绍如何通过ViewHolder模式优化适配器(Adapter),包括创建ViewHolder、使用getView方法以及View的tag方法来减少视图的频繁创建,提高列表滚动时的性能。
  1. 适配器的数据更新方法notifyDataSetChanged()只有在定义Adapter类时可以调用;

  2. 使用ViewHolder优化:

(1)创建Holder:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Holder{
    ImageView imagerView;
    TextView textView;
    .........
}
(2)public View getView(int position, View convertView, ViewGroup parent) {   
// TODO Auto-generated method stub   
    Holder holder = null;   
    if(convertView==null) {   
        convertView=LayoutInflater.from(context).inflate(resource, null);   
        holder=new Holder();   
        holder.imageView=(ImageView) convertView.findViewById(R.id.imageView);   
        holder.textView=(TextView) convertView.findViewById(R.id.textView);    
        convertView.setTag(holder);   
    }else{   
        holder=(Holder) convertView.getTag();   
    }   
    holder.imageView.setImageResource(image);   
    holder.textView.setText(text)  
 
}

(3)View.setTag(Object)和View.getTag():

为View设置附加数据,可以在需要的时候拿来用,在adapter使用是避免了控件的重复实例话,算是一种简单的优化;














本文转自wauoen51CTO博客,原文链接:http://blog.51cto.com/7183397/1604340 ,如需转载请自行联系原作者





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值