您的位置:首页 > 其它

why there are duplicated views in listview

2016-01-26 00:00 363 查看
list view will automately reuse it's item child views, you should update child views' content in getView() function.

if you use ViewHolder, don't forget to setTag() before getTag();

ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = LayoutInflater.from(getActivity()).inflate(R.layout.item_bound_car, parent, false);
ViewHolder.bind(holder, convertView);
holder.unbind.setOnClickListener(onClick);
convertView.setOnClickListener(onClick);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
try {
BoundCar car = cars.get(position);
if (car != null) {
Log.e(DrvStoContext.TAG, "bound car item: " + car.carid + " " + car.carTypeDesc + " " + car.violationTimes + " " + car.licenseCode + " " + car.carTypeNum + " " + car.deduction + " " + car.penalty);
holder.unbind.setTag(R.id.bound_car_tag, car);
convertView.setTag(R.id.bound_car_tag, car);
holder.licenseCode.setText(car.licenseCode);
holder.violation.setText(car.getViolationTimesStr());
holder.penalty.setText(car.getPenaltyStr());
holder.deduction.setText(car.getDeductionStr());
Log.e(DrvStoContext.TAG, "set view display success");
}
} catch (Exception e) {
Log.e(DrvStoContext.TAG, e.getMessage() ==
3ff0
null ? "NULL pointer" : e.getMessage());
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: