谁给讲一下 这会迷糊了
public class viewHolder {
private TextView tv_ohter_week, tv_ohter_temperature;
private ImageView iv_other_weather;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
inflater = LayoutInflater.from(context);
viewHolder holder;
if (convertView == null) {
holder = new viewHolder();
convertView = inflater.inflate(R.layout.wether_row_layout, null);
holder.iv_other_weather = (ImageView) convertView
.findViewById(R.id.iv_other_weather);
holder.tv_ohter_temperature = (TextView) convertView
.findViewById(R.id.tv_ohter_temperature);
holder.tv_ohter_week = (TextView) convertView
.findViewById(R.id.tv_ohter_week);
convertView.setTag(holder);
} else {
holder = (viewHolder) convertView.getTag();
}
WeatherMdoel model = (WeatherMdoel) getItem(position + 1);
holder.iv_other_weather
.setImageDrawable(model.getImageUrl() == "" ? model
.getImageDrawable() : strHelpeUtil.loadImage(model
.getImageUrl()));
holder.tv_ohter_temperature.setText(context.getResources().getString(
R.string.temp_format, model.getLowTemp(), model.getHighTemp()));
holder.tv_ohter_week.setText(model.getWeek()); return convertView;
}
public class viewHolder {
private TextView tv_ohter_week, tv_ohter_temperature;
private ImageView iv_other_weather;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
inflater = LayoutInflater.from(context);
viewHolder holder;
if (convertView == null) {
holder = new viewHolder();
convertView = inflater.inflate(R.layout.wether_row_layout, null);
holder.iv_other_weather = (ImageView) convertView
.findViewById(R.id.iv_other_weather);
holder.tv_ohter_temperature = (TextView) convertView
.findViewById(R.id.tv_ohter_temperature);
holder.tv_ohter_week = (TextView) convertView
.findViewById(R.id.tv_ohter_week);
convertView.setTag(holder);
} else {
holder = (viewHolder) convertView.getTag();
}
WeatherMdoel model = (WeatherMdoel) getItem(position + 1);
holder.iv_other_weather
.setImageDrawable(model.getImageUrl() == "" ? model
.getImageDrawable() : strHelpeUtil.loadImage(model
.getImageUrl()));
holder.tv_ohter_temperature.setText(context.getResources().getString(
R.string.temp_format, model.getLowTemp(), model.getHighTemp()));
holder.tv_ohter_week.setText(model.getWeek()); return convertView;
}
如果convertView是null,用layoutinflat指定布局文件填充生成此convertView。然后绑定viewholder。之所以要绑定viewholder是为了节省资源。免得即使convertView不为空也每次都要重新把所有组件加载一遍。拿到convertView及对应的viewholder后,后面就是设值了。