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;
    }

しかし、代わりにWebからいくつかの画像を表示したいと思います。これが私がしたことです:

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);

しかし、上記の方法を使用すると、ギャラリー内に1つの画像しか表示できませんでしたが、ギャラリー内に別の画像を表示する必要があるため、たとえばhttp://www.myimages.com/2.pnghttp:/から/www.myimages.com/3.png。これどうやってするの?

4

2 に答える 2

1

ここでは、画像リンクを1回呼び出しますが、GallerybaseAdapterクラスgetViewCallforEveryアイテムを呼び出します。毎回電話する必要があります。

URLの配列を作成します。好き

String [] 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

遅延読み込みリストビューの以下のリンクコードを使用し、要件に応じてリストビューをグリッドビューに変更すると、役立つ場合があります。

遅延読み込みリストビュー

于 2012-06-13T07:28:12.733 に答える