我正在从此链接获取帮助:Android GridView Layout Tutorial。当我运行我的应用时,我的应用停止工作。我收到以下错误。 我想创建gridview,在gridview中显示缩略图图像,在点击时显示全尺寸图像。为此,我将每张图像的缩略图和完整图像保存为可绘制的。这个怎么做?请帮帮我。GridView示例不起作用
ImageAdapter接收机类
public class ImageAdapter extends BaseAdapter {
private Context mContext;
public Integer[] mThumbIds = {
R.drawable.kri1, R.drawable.kri2,
R.drawable.kri3, R.drawable.kri4,
R.drawable.kri5, R.drawable.kri6,
R.drawable.kri7, R.drawable.kri8,
R.drawable.kri9,R.drawable.kri7, R.drawable.kri8,
R.drawable.kri9, R.drawable.kri7, R.drawable.kri8,
R.drawable.kri9
};
// Constructor
public ImageAdapter(Context c){
mContext = c;
}
@Override
public int getCount() {
return mThumbIds.length;
}
@Override
public Object getItem(int position) {
return mThumbIds[position];
}
@Override
public long getItemId(int position) {
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageResource(mThumbIds[position]);
imageView.setScaleType(ImageView.ScaleType.CENTER_CROP);
imageView.setLayoutParams(new GridView.LayoutParams(70, 70));
return imageView;
}
}
Logcat-
02-20 07:06:19.930: E/AndroidRuntime(2541): FATAL EXCEPTION: main
02-20 07:06:19.930: E/AndroidRuntime(2541): Process: com.example.gridview, PID: 2541
02-20 07:06:19.930: E/AndroidRuntime(2541): java.lang.OutOfMemoryError
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:575)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:410)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:840)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.content.res.Resources.loadDrawable(Resources.java:2110)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.content.res.Resources.getDrawable(Resources.java:700)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.widget.ImageView.resolveUri(ImageView.java:638)
02-20 07:06:19.930: E/AndroidRuntime(2541): at android.widget.ImageView.setImageResource(ImageView.java:367)
您正在使用高分辨率的“位图”。而不是加载缩略图图像到内存 –
@GopalRao如何使用缩略图?我想在点击任何图像时打开完整图像。 –
阅读如何处理'位图'[这里](http://developer.android.com/training/displaying-bitmaps/index.html)和示例项目[here](http://developer.android.com/ shareables/training/BitmapFun.zip)... –