1

我有一个 Android 自定义列表视图适配器,

我需要将一些图像流式传输/加载到我的自定义行布局/ImageView 中。

所以我尝试了:

myImageView.setImageBitmap(BitmapFactory.decodeFile(o.getIcon_url()));

就像下面的这段代码。

public View getView(int position, View convertView, ViewGroup parent) {
       View v = convertView;
       if (v == null) {
            LayoutInflater vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            v = vi.inflate(R.layout.row_applications, null);
       }
       ApplicationsModel o = items.get(position);
       if (o != null) {
            ImageView tv_icon = (ImageView) v.findViewById(R.id.iv_icon);
            if(row_icon !=null)
            {              
                  tv_icon.setImageBitmap(BitmapFactory.decodeFile(o.getIcon_url()));
            }
       }
       return v;
}

但是这些图像不能在我的自定义列表视图中阅读。

该代码适用于 TextView 的..

4

2 回答 2

1

看起来@Max_Usanin 在这里有正确的答案。我留下另一个答案来解释为什么它现在不起作用。

您需要先下载图像,然后才能在BitmapFactory. 您使用的方法只能用于本地文件,不能用于 url。请参阅此链接。

此外,您真的想异步下载图像,它看起来LazyList确实如此。在将另一个位图加载到您的ListView.

于 2012-12-11T15:57:05.680 回答
1

imageLoader.DisplayImage("URL_you_image", YOUimageIcon);

hm i am use this source https://github.com/thest1/LazyList works well, loads images asynchronously;)

于 2012-12-11T15:48:35.783 回答