1

此处的教程http://www.edumobile.org/android/android-beginner-tutorials/creating-image-gallery/教授如何将资源中的图像放入画廊

这是设置要显示的图像的部分:

private Integer[] mImageIds = {
            R.drawable.icon,
            R.drawable.icon,
            R.drawable.icon
    };

public View getView(int position, View convertView, ViewGroup parent) {
        ImageView i = new ImageView(mContext);
        i.setImageResource(mImageIds[position]);
        i.setLayoutParams(new Gallery.LayoutParams(150, 100));
        i.setScaleType(ImageView.ScaleType.FIT_XY);
        i.setBackgroundResource(mGalleryItemBackground);
        return i;
    }

但我想显示一些来自网络的图像。所以这就是我所做的:

String gallery1 = "http://www.myimages.com/1.png";
URL ulrn = new URL(gallery1);
HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
InputStream is = con.getInputStream();
Bitmap bmp = BitmapFactory.decodeStream(is);

    if (null != bmp){
      bmp = getResizedBitmap(bmp,150,120);  //resize the thumb
      i.setImageBitmap(bmp);
      i.setLayoutParams(new Gallery.LayoutParams(150, 100));
      i.setScaleType(ImageView.ScaleType.FIT_XY);
      i.setBackgroundResource(mGalleryItemBackground);

但是使用我上面做的方法我只能在画廊内显示一张图片,而我还需要在画廊内显示另一张图片,例如来自http://www.myimages.com/2.pnghttp:// /www.myimages.com/3.png。我怎样才能做到这一点?

4

2 回答 2

1

在这里您调用一次 Image 链接,但 Gallery baseAdapter 类 getView 调用每个项目。你需要每次都打电话。

为 URL 创建一个数组。喜欢

字符串[] URl={http://www.myimages.com/2.png , http://www.myimages.com/,png,http://www.myimages.com/2.png };

并从您的 getView 方法中调用此方法

   public Drawable ImageOperations(String imageurl) {
        try {
            InputStream is = (InputStream) new URL(imageurl).getContent();
            Drawable drawable = Drawable.createFromStream(is, "src");
            return drawable;
        } catch (MalformedURLException e) {
            return null;
        } catch (IOException e) {
            return null;
        }

    }

然后编辑您的 getView 方法的某些行。

i.setImageDrawable(ImageOperations(URl[position]));

谢谢

于 2012-06-13T07:23:45.340 回答
0

使用下面的延迟加载 Listview 的链接代码,根据您的要求将 Listview 更改为 Gridview,它可能会对您有所帮助。

延迟加载列表视图

于 2012-06-13T07:28:12.733 回答