采用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嘛