android listview在图像更新后仍然使用缓存中的图像
在我的listview中,我有可以从internet更新的图像和文本。图像保存在外部存储器中。当更新发生时,文本显示正确,但图像仍然是缓存中的旧图像。更新时,我删除旧图像并创建同名的新图像。但除非im清除应用缓存,否则listview将显示旧图像。我怎样才能解决这个问题? 我还尝试以编程方式清除缓存,但这会导致一些其他问题 在执行后,我尝试调用android listview在图像更新后仍然使用缓存中的图像,android,listview,Android,Listview,在我的listview中,我有可以从internet更新的图像和文本。图像保存在外部存储器中。当更新发生时,文本显示正确,但图像仍然是缓存中的旧图像。更新时,我删除旧图像并创建同名的新图像。但除非im清除应用缓存,否则listview将显示旧图像。我怎样才能解决这个问题? 我还尝试以编程方式清除缓存,但这会导致一些其他问题 在执行后,我尝试调用MyListView.getMdataAdapter().notifyDataSetChanged()但是它没有帮助 @Override public V
MyListView.getMdataAdapter().notifyDataSetChanged()代码>但是它没有帮助
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
View view = convertView;
final ViewHolder holder;
Items2 i = items.get(position);
if(convertView==null){
holder = new ViewHolder();
view = inflater.inflate(R.layout.list_row, parent, false);
holder.text = (TextView)view.findViewById(R.id.tvRestList);
holder.image = (ImageView)view.findViewById(R.id.imgList);
view.setTag(holder);
view.setOnTouchListener(this);
}else{
holder = (ViewHolder)view.getTag();
}
holder.pos = position;
Items2 item = (Items2)i;
holder.text.setText(item.name);
imageLoader.displayImage("file:///"+context.getExternalFilesDir(null).toString()+File.separator+String.valueOf(position)+".jpg", holder.image, options);
return view;
}
ImageLoader是通用图像加载器。您能显示适配器代码吗?找到发生这种情况的原因,默认情况下ImageLoader在内存中缓存图像,因此更新必须清除ImageLoader的内存缓存