我有一个listView,在每个项目上我都添加了progressBar,它需要在图片下载完成后消失。但是我找不到一个方法来做到这点。我试图在getView类中使其消失,但它立即消失而不是在下载图像后消失。
例如,在AsyncTask类的DoInBackground中向scrollView添加一些视图,我可以下载图像,然后在onPostExecute中设置图像,并删除ProgressBar。这很好用。我想为listView做类似的事情。有人能帮助我吗?
我不知道我是否清楚,但我可以总结一下:我有一个包含ImageView和ProgressBar的list_item.xml。我希望在下载并设置图像后使这些进度条消失。
感谢你的帮忙。
以下是我的适配器类:
所以,在下面这行代码中,我让进度条消失了,但它应该在图像下载并设置后才消失... 但是在添加列表项时没有进度条,这就是我的问题?
例如,在AsyncTask类的DoInBackground中向scrollView添加一些视图,我可以下载图像,然后在onPostExecute中设置图像,并删除ProgressBar。这很好用。我想为listView做类似的事情。有人能帮助我吗?
我不知道我是否清楚,但我可以总结一下:我有一个包含ImageView和ProgressBar的list_item.xml。我希望在下载并设置图像后使这些进度条消失。
感谢你的帮忙。
以下是我的适配器类:
class myListAdapter extends ArrayAdapter<Items> {
private ArrayList<Items> items;
private Context ctx;
public myListAdapter(Context context, int textViewResourceId,
ArrayList<Items> items) {
super(context, textViewResourceId, items);
this.ctx = context;
this.items = items;
}
@Override
public int getCount() {
return items.size();
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View v = convertView;
if (v == null) {
LayoutInflater inf = (LayoutInflater) ctx
.getSystemService(LAYOUT_INFLATER_SERVICE);
v = inf.inflate(R.layout.main_list_item, null);
}
Items index = listContents.get(position);
if (index != null) {
ImageView img = (ImageView) v.findViewById(R.id.listImage);
TextView title = (TextView) v.findViewById(R.id.listTopText);
TextView content = (TextView) v.findViewById(R.id.listDownText);
if (title != null)
title.setText(index.getTitle());
if (content != null)
content.setText(index.getContent());
if (img != null)
img.setImageBitmap(index.getImageBitmap());
((ProgressBar) v.findViewById(R.id.listItemProgressBar)).setVisibility(View.GONE);
}
return v;
}
}
所以,在下面这行代码中,我让进度条消失了,但它应该在图像下载并设置后才消失... 但是在添加列表项时没有进度条,这就是我的问题?
((ProgressBar) v.findViewById(R.id.listItemProgressBar)).setVisibility(View.GONE);