Android――Adapter

  1. 适配器的数据更新方法notifyDataSetChanged()只有在定义Adapter类时可以调用;

  2. 使用ViewHolder优化:

(1)创建Holder:

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使用是避免了控件的重复实例话,算是一种简单的优化;

你可能感兴趣的:(android,适配器)