ListView 的优化

ListView 的优化
方案1:
public  View getView( int  position, View convertView, ViewGroup parent)
{
    View item 
= mInflater.inflate(R.layout.list_item_icon_text, null);
    ((TextView) item.findViewById(R.id.text)).setText(DATA[position]);
    ((ImageView) item.findViewById(R.id.icon)).setImageBitmap((position 
& 1== 1 ? mIcon1 : mIcon2);
    
return item;
}

方案2:
public  View getView( int  position, View convertView, ViewGroup parent) 
{
    
if (convertView == null
    
{
        convertView 
= mInflater.inflate(R.layout.item, null);
    }

    ((TextView) convertView.findViewById(R.id.text)).setText(DATA[position]);
 ((ImageView) convertView.findViewById(R.id.icon)).setImageBitmap((position 
& 1== 1 ? mIcon1 : mIcon2);
 
return convertView;
}

方案3:
class  ChatListAdapter  extends  BaseAdapter
{
 
static class ViewHolder 
    
{
  TextView text;
  ImageView icon;
    }


    
public View getView(int position, View convertView, ViewGroup parent) 
    
{
     ViewHolder holder;
     
if (convertView == null
        
{
      convertView 
= mInflater.inflate(R.layout.list_item_icon_text, null);
      holder 
= new ViewHolder();
      holder.text 
= (TextView) convertView.findViewById(R.id.text);
      holder.icon 
= (ImageView) convertView.findViewById(R.id.icon);
            convertView.setTag(holder);
     }
 
        
else 
        
{
      holder 
= (ViewHolder) convertView.getTag();
     }

        holder.text.setText(DATA[position]);
     holder.icon.setImageBitmap((position 
& 1== 1 ? mIcon1 : mIcon2);
     
return convertView;
    }

}

你可能感兴趣的:(ListView 的优化)