画像とグリッドビューを表示したいギャラリーアイテムをクリックしたときに、Androidアプリケーションにギャラリーがあります。ギャラリーに画像が3つしかない場合に実行し、クリックすると正しく表示されます。しかし、現在、ギャラリーには7つの画像があり、各ギャラリーアイテムには、ギャラリーを表示する4つの画像があります。これでは、drwawable画像の配列のみを使用しています。今回は、Java.lang.OutOfMemoryとして例外が発生しました。以下のコードを使用します。
public ImageThemeAdapter(Context c, Integer[] mImageIds) {
imagesId=mImageIds;
bitmap=new Bitmap[imagesId.length];
mContext = c;
TypedArray ta=obtainStyledAttributes(R.styleable.Gallery1);
imageBackground=ta.getResourceId(R.styleable.Gallery1_android_galleryItemBackground, 1);
ta.recycle();
for (int i = 0; i <imagesId.length; i++) {
bitmap[i]=BitmapFactory.decodeResource(mContext.getResources(),imagesId[i]);
}
}
public int getCount() {
return bitmap.length;
}
public Object getItem(int position) {
return bitmap[position];
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup parent) {
ImageView i = new ImageView(mContext);
i.setImageBitmap(bitmap[position]);
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setLayoutParams(new Gallery.LayoutParams(130, 120));
// i.setLayoutParams(new Gallery.LayoutParams((ScreenWidth*80)/100, android.view.ViewGroup.LayoutParams.WRAP_CONTENT));
i.setBackgroundResource(imageBackground);
return i;
}
と私のスクリーンショット
何か提案をお願いしますよろしくお願いします。