我有一个ListView
,其中包含有关歌曲的信息。另外我想在ListView
.
因此我写了一个适配器。这个适配器的主要内容是以下getView()
方法:
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final Map dataSet = mData.get(position);
View v = convertView;
ViewHolder holder;
if (convertView == null) {
v = mInflater.inflate(mResource, parent, false);
holder = new ViewHolder();
holder.artist = (TextView) v.findViewById(R.id.artist);
holder.imageView = (ImageView) v.findViewById(R.id.imageListView);
holder.title = (ScrollingTextView) v.findViewById(R.id.title);
holder.time = (TextView) v.findViewById(R.id.time);
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.artist.setText((CharSequence) dataSet.get("artist"));
holder.title.setText((CharSequence) dataSet.get("title"));
holder.time.setText((CharSequence) dataSet.get("time"));
GetImg gi = new GetImg(v, mContext);
gi.start();
return v;
}
您可以看到,我使用 aViewHolder
以获得更好的性能。在GetImg
扩展 的类中Thread
,我正在下载图像并将 设置Bitmap
为ImageView
.
现在我收到以下问题。有时,多个子视图中会ListView
获得相同的图像。为什么?
当我不使用convertView
时,一切正常,但不如使用convertView
.