【问题标题】:Passing values to view with the adapter使用适配器传递值以查看
【发布时间】:2010-12-29 16:23:11
【问题描述】:

我已经实现(感谢教程)一种显示自定义 listView 的方法,其中包含图像、名称和描述。

我使用simpleAdapter 将字符串namedescription 传递给textViews,并将图像ID 的int(图像存储在R.drawable 中)传递给imageView。

问题是:现在我应该将 ImageViews 设置为显示从网络下载的图像,所以我有可绘制对象但我无法从中获取 ID。

如何自定义 simpleAdapter 以将Drawable 传递给imageView,并使用setImageDrawable 方法设置图像?

请说清楚!谢谢

【问题讨论】:

    标签: android adapter


    【解决方案1】:

    我们需要使用 viewBinder,如下所示:

            adapter.setViewBinder(new ViewBinder() {
    
                public boolean setViewValue(View view, Object data,
                                String textRepresentation) {
    
                        if(data instanceof BitmapDrawable ){
                                ((ImageView)view).setImageDrawable((Drawable)data);
                                return true;
                        }else{
                                return false;
                        }
    
                }
            });
    

    【讨论】:

      【解决方案2】:

      试试这个:

      http://www.androidpeople.com/android-load-image-from-url-example/

      或从您已下载的外部媒体文件加载:

      位图 myBitmap = BitmapFactory.decodeFile(“/sdcard/myImage.jpg”);

      ImageView myImage = (ImageView) findViewById(R.id.imageToShow);

      myImage.setImageBitmap(myBitmap);

      【讨论】:

        【解决方案3】:

        这很难......所以我建议使用CommonsWare's ThumbnailAdapter

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多