我看过其他线程,但看不到listadapter出了什么问题。我有视图持有者模式,并且要在convertview null检查语句之外设置列表项的所有值。我不确定还有哪些其他原因会使它重复这些项目。
World
答案 0 :(得分:2)
问题出在这里
holder.job = getItem(position);
请记住,在滚动时视图可能会被回收,如果以这种方式分配,分配的作业可能会无意用于其他位置。要解决此问题,只需在if-else条件之后分配作业:
if (convertView == null) {
// ...
} else {
// ...
}
holder.job = getItem(position); // Update the job by position
holder.routeOrder.setText(holder.job.getRouteOrder() + "");
holder.location.setText(holder.job.getLocation());
holder.jobRef.setText(holder.job.getJobReference());