我有一个关于在自定义数组适配器的 getView 方法中回收视图的不清楚的问题。
我知道元素被重用了,但是我怎么知道在 if 语句的第一部分中要实现什么,以及在第二部分中实现什么?
现在我有以下代码。我之所以提出这个问题,是因为在语句的第二部分中删除了代码,这导致了前 9 个元素的列表,这些元素被重复多次而不是所有元素。我真的不知道究竟是什么原因造成的......
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
title = getItem(position).getTitle();
size = calculateFileSize(position);
txtTitle = (TextView) row.findViewById(R.id.txtTitle);
tvFileSize = (TextView) row.findViewById(R.id.tvFileSize);
txtTitle.setText(title);
tvFileSize.setText(size);
} else {
title = getItem(position).getTitle();
size = calculateFileSize(position);
txtTitle = (TextView) row.findViewById(R.id.txtTitle);
tvFileSize = (TextView) row.findViewById(R.id.tvFileSize);
txtTitle.setText(title);
tvFileSize.setText(size);
}
return row;
}