xml에서 이미지 주소를 받아오면 그것을 벡터에다가 넣고 그리드 뷰로 출력을 하려고합니다.

1. 일반 겔러리에서 배열에다가 이미지 주소 넣고 띄우는 것 했어요. 기본적인 소스 가지고요.


public class ImageAdapter extends BaseAdapter {
        private Context myContext;
 
        private String[] myRemoteImages = {
                        "http://XXXXXXXXXX/capture/20100514.jpg",
                        "http://XXXXXXXXXX/capture/20100515.jpg",
                        "http://XXXXXXXXXX/capture/20100516.jpg",
                        "http://XXXXXXXXXX/capture/20100534.jpg"
        };
        
        public ImageAdapter(Context c) { this.myContext = c; }
 
        public int getCount() { return this.myRemoteImages.length; }
 
        public Object getItem(int position) { return position; }
        public long getItemId(int position) { return position; }
 
        public View getView(int position, View convertView, ViewGroup parent) {
            ImageView i = new ImageView(this.myContext);
 
            try {
                                URL aURL = new URL(myRemoteImages[position]);
                                URLConnection conn = aURL.openConnection();
                                conn.connect();
                                InputStream is = conn.getInputStream();
                                BufferedInputStream bis = new BufferedInputStream(is);
                                Bitmap bm = BitmapFactory.decodeStream(bis);
                                bis.close();
                                is.close();
                                i.setImageBitmap(bm);
                        } catch (IOException e) {
                                i.setImageResource(R.drawable.error);
                                Log.e("DEBUGTAG", "Remtoe Image Exception", e);
                        }
            

            i.setScaleType(ImageView.ScaleType.CENTER_CROP);
            i.setLayoutParams(new Gallery.LayoutParams(300, 300));
            return i;
        }




2. 리소스 파일이 있는 그리드 뷰도 해봤습니다.

    

 public class ImageAdapter extends BaseAdapter {
        private Context mContext; 
        public ImageAdapter(Context c) {
            mContext = c;
        }
        public int getCount() {
            return mThumbIds.length;
        }
        public Object getItem(int position) {
            return null;
        }
        public long getItemId(int position) {
            return 0;
        }
  @Override
  public View getView(int position, View convertView, ViewGroup parent) {
   ImageView imageView;
            if (convertView == null) { 
                imageView = new ImageView(mContext);
                imageView.setLayoutParams(new GridView.LayoutParams(85, 85));
                imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
                imageView.setPadding(8, 8, 8, 8);
            } else {
                imageView = (ImageView) convertView;
            }            imageView.setImageResource(mThumbIds[position]);
            return imageView;
  }




그런데 웹이미지를 그리드에 넣는 것이 잘 감이 안잡히네요오오오오

참고로 최종적으로 구현할 모습은
서버의 xml에서 목록을 받아온 뒤 동영상 뷰, 이미지 뷰를 출력하는 것입니다.







에에!! 해결했어요. 며칠 동안 잘 안됐었는데 -_-

//1. 원래 겔러리 뷰의 아랫 것을 (웹이미지를 불렀던 겔러리에서 뷰형식만 그리드로 바꾼 형태입니다)
//((Gallery) findViewById(R.id.gallery)).setAdapter(new ImageAdapter(this));

//2. 그리드 뷰에 맞게 바꾸고요.(R.id.gridview 는 xml을 설정해 놓은 것입니다.)
GridView gridview = (GridView) findViewById(R.id.gridview);
gridview.setAdapter(new ImageAdapter(this));


 

//3. 요것도 그리드뷰에 맞게 바꾸니깐 되었네요. 몇줄 안되는 간단한 것이었네요. 헤헤
//i.setLayoutParams(new Gallery.LayoutParams(300, 300));
i.setLayoutParams(new GridView.LayoutParams(85, 85));