Android ListView 随机显示图像

标签 android android-listview thumbnails

我有一个文件选择器(根据需要工作),但我想在适当的时候将缩略图添加到列表中。它适用于前几张图像,但随后不是图像且不应具有缩略图的随机文件(和文件夹)项目会采用已加载的随机图像。整个文件列表在反复滚动后最终获取图像。

这是 ListView 的已知问题吗?是否有显示缩略图的标准方式?我的代码刚刚损坏了吗?

下面是将文件名和缩略图分配给每个列表项的代码 - 该类扩展了 ArrayAdapter

public View getView(int position, View convertView, ViewGroup parent)
{
    View v = convertView;
    if (v == null)
    {
        LayoutInflater vi = (LayoutInflater) c
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(id, null);
    }
    final Option o = items.get(position);
    if (o != null)
    {
        TextView t1 = (TextView) v.findViewById(R.id.TextView01);
        TextView t2 = (TextView) v.findViewById(R.id.TextView02);
        ImageView img1 = (ImageView) v.findViewById(R.id.imageView1);
        try
        {
            if(o.getData()!="Folder" && (o.getPath().contains(".jpg") || o.getPath().contains(".gif") || o.getPath().contains(".png")))
                img1.setImageBitmap(getPreview(o.getPath()));
        }
        catch (Exception e)
        {
            Log.w("Image failed in File Viewer", e);
        }
        if (t1 != null)
            t1.setText(o.getName());
        if (t2 != null)
            t2.setText(o.getData());

    }
    return v;
}

最佳答案

问题是您正在重用您的 View (这是正确的方法)。因此,当您开始滚动时,它将重用之前显示的 View 。因此,您所要做的就是在未设置 View 时重置 View 中的图像/文本。

关于Android ListView 随机显示图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9153981/

相关文章:

android - ICS 中的确定/取消按钮顺序

android - 自定义 ListView 错误 : java. lang.unsupportedoperationexception: addview

android - 如何处理 9-p​​atch 和 CardView 上的 Ripple 效果,并控制选择器的状态?

html - Facebook - 更改缩略图

php - 如何创建.BMP 文件的缩略图?

Android:自定义 RatingBar - 图片不适合

android - 什么是android :layout_marginStart

android - 与 "smallest width 600 dp"选择器混淆

java - Listview为单个项目设置颜色按位置当对话框打开时

objective-c - 使用带有 ARC 的 AVAssetImageGenerator 创建大量缩略图时出现问题