在我的列表视图中,我有可以从互联网更新的图像和文本。图像保存在外部存储器中。当更新发生时,文本显示正确,但图像仍然是旧图像,即缓存中的图像。更新时,我删除旧图像并创建具有相同名称的新图像。但除非我清除应用程序缓存,否则列表视图将显示旧图像。我怎么能解决这个问题?我还尝试以编程方式清除缓存,但这会导致其他一些问题。
在 postExecute 我尝试调用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 是通用图像加载器。