gpt4 book ai didi

android - GridView 图像未正确加载

转载 作者:行者123 更新时间:2023-11-30 01:55:33 25 4
gpt4 key购买 nike

我有一个带有 Image 和 TextView 的 GridView。使用异步任务从 URL 加载图像。

这是 GridView 的代码:

public class GridviewAdapter extends BaseAdapter {
private ArrayList<String> listImgUrl;
private ArrayList<String> listCost;
private ArrayList<String> listItem;
private ArrayList<String> listStore;

private Activity activity;
// private Context context;

public GridviewAdapter(Context context) {
super();
// this.context = context;


}

public void GridviewAdapterInit(Activity activity, ArrayList<String> listImgUrl,
ArrayList<String> listCost, ArrayList<String> listItem,
ArrayList<String> listStore) {
this.activity = activity;

this.listImgUrl = listImgUrl;
this.listCost = listCost;
this.listItem = listItem;
this.listStore = listStore;

}

@Override
public int getCount() {
// TODO Auto-generated method stub
return listImgUrl.size();
}

@Override
public String getItem(int position) {
// TODO Auto-generated method stub
return listImgUrl.get(position);
}

@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}

public static class ViewHolder {
public ImageView imgViewFlag;
public TextView tvCost;
public TextView tvItem;
public TextView tvStore;
}

@SuppressLint("InflateParams")
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
ViewHolder view;
LayoutInflater inflator = activity.getLayoutInflater();

if (convertView == null) {
view = new ViewHolder();
convertView = inflator.inflate(R.layout.gridview_row, null);

view.imgViewFlag = (ImageView) convertView
.findViewById(R.id.imageView1);
view.tvCost = (TextView) convertView.findViewById(R.id.tvCost);
view.tvItem = (TextView) convertView.findViewById(R.id.tvItem);
view.tvStore = (TextView) convertView.findViewById(R.id.tvStore);



convertView.setTag(view);
} else {
view = (ViewHolder) convertView.getTag();
}


LoadImageFromURL(listImgUrl.get(position), view.imgViewFlag);
view.tvCost.setText(listCost.get(position));
view.tvItem.setText(listItem.get(position));
view.tvStore.setText(listStore.get(position));

return convertView;
}

private void LoadImageFromURL(String url, ImageView imgView)

{
new ImageViewUpdator(imgView).execute(url);

}

}

使用上面的代码,如果图像为 6 个或更少,图像将被正确加载。加载更多图片时会出现图片在错误位置重复、少数图片未加载等问题。但是要加载的图像数量是可以的。不确定是什么导致了问题。

感谢帮助

最佳答案

如果你想从 url 加载图像,那么你需要使用 picasso

Picasso is a powerful image downloading and caching library for Android.

只需一行代码即可解决您的图片加载问题:

Picasso.with(context).load("http://i.imgur.com/DvpvklR.png").into(imageView);

关于android - GridView 图像未正确加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32305247/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com