采取ViewHolder模式提高AdapterView显示的效率
采用ViewHolder模式提高AdapterView显示的效率
如果对效率要求比较高的话可以采用这种办法,唯一的缺点就是多了一个内部类ViewHolder。
getView(int pos, View convertView, ViewGroup parent)里的pos嘛
如果对效率要求比较高的话可以采用这种办法,唯一的缺点就是多了一个内部类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)这点不懂,请指教
这里的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)这点不懂,请指教
这里的pos是怎么得到的?(pos & 1)这点不懂,请指教
getView(int pos, View convertView, ViewGroup parent)里的pos嘛