采取ViewHolder模式提高AdapterView显示的效率

采用ViewHolder模式提高AdapterView显示的效率
如果对效率要求比较高的话可以采用这种办法,唯一的缺点就是多了一个内部类ViewHolder。
public View getView(int pos, View convertView, ViewGroup parent){ 
            ViewHolder holder;
            if (convertView == null) { 
                holder=new ViewHolder();
                convertView = mInflater.inflate(R.layout.list_item, null); 
                holder.text = (TextView) convertView.findViewById( R.id.text));
                holder.icon = (ImageView) convertView.findViewButId( R.id.icon));
                convertView.setTag(holder); 
                }
            else { 
                holder = (ViewHolder) convertView.getTag(); 
                }
            holder.text.setText(DATA[pos]); 
            holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);
                return convertView;
                } 
 
        static class ViewHolder { 
            TextView text;
            ImageView icon;
            } 
1 楼 lizhanzhishang 2012-05-03  
      holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);

这里的pos是怎么得到的?(pos & 1)这点不懂,请指教
2 楼 lizhanzhishang 2012-05-03  
还有个问题:为什么会有好多的数据来填充整个View?这是系统默认的,还是什么原因?可以修改为,自己想要的数据量嘛?谢谢
3 楼 gundumw100 2012-05-03  
lizhanzhishang 写道
      holder.icon.setImageBitmap((pos & 1) == 1 ? mIcon1 : mIcon2);

这里的pos是怎么得到的?(pos & 1)这点不懂,请指教

getView(int pos, View convertView, ViewGroup parent)里的pos嘛