gpt4 book ai didi

android - 使用 convertView 时出现问题,不使用时出现问题

转载 作者:行者123 更新时间:2023-11-29 15:29:45 24 4
gpt4 key购买 nike

我有一个 ListView,其中包含一个 ImageView 和一个 TextView。我将 ArrayAdapter 子类化,以便我可以通过子类化的 AsyncTask 从 Internet 加载图像。到目前为止一切都很好。

问题是,如果我尝试使用 convertView,我会遇到图像被短暂回收到错误行中的问题。 (这是一家公司的标志,所以这……不太好。)

但是,如果我不使用 convertView,则图像会在用户滚动时丢失。因此,如果他们向下滚动并向上滚动,则会从互联网重新加载图像(这显然不利于数据使用、电池生命周期等)

有没有一种简单的方法可以解决此问题,使其不会每次都从互联网加载或四处移动图像?

这是我目前使用的:

public class SupplierAdapter extends ArrayAdapter<Supplier>{
int resource;
String response;
Context context;

public SupplierAdapter(Context context, int resource, List<Supplier> suppliers) {
super(context, resource, suppliers);
this.resource = resource;
}

@Override
public View getView(int position, View convertView, ViewGroup parent){
LinearLayout view;
Supplier s = getItem(position);

if(convertView == null){
view = new LinearLayout(getContext());
String inflater = Context.LAYOUT_INFLATER_SERVICE;
LayoutInflater vi;
vi = (LayoutInflater) getContext().getSystemService(inflater);
vi.inflate(resource, view, true);
} else {
view = (LinearLayout) convertView;
}

ImageView iv = (ImageView) view.findViewById(R.id.thumbnail);
// s.getThumbnail returns a URL
new DownloadImageTask(iv).execute(s.getThumbnail());

TextView titleText =(TextView) view.findViewById(R.id.titleText);
titleText.setText(s.getTitle());
titleText.setTag(s.getId());

return view;
}
}

非常感谢所有帮助:)

最佳答案

John,尝试使用 raptureinvenice.comWebImageView .我最近重构了我的代码以使用这个简单且轻量级的库,到目前为止,一切都很好。它很容易提供两级缓存,同时更新多个目标,并且非常容易设置。看起来它似乎减少了大约 1/20 的显示图像请求。除了这个可能是库的错误的潜在错误之外,它非常好。

关于android - 使用 convertView 时出现问题,不使用时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8175246/

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