0

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

在 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 是通用图像加载器。

4

0 回答 0