I'm trying create adapter for my gridView which should contains photo, which I chose in gallery. But I have following OutOfMemoryError in line "return row"
public class GridViewAdapter extends ArrayAdapter<String> {
private Context context;
private int layoutResourceId;
private ArrayList<String> images_urls;
public GridViewAdapter(Context context, int layoutResourceId, ArrayList<String> images_urls) {
super(context, layoutResourceId, images_urls);
this.layoutResourceId = layoutResourceId;
this.context = context;
this.images_urls = images_urls;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
ViewHolder holder = null;
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(layoutResourceId, parent, false);
holder = new ViewHolder();
holder.image = (ImageView) row.findViewById(R.id.grid_image);
row.setTag(holder);
} else {
holder = (ViewHolder) row.getTag();
}
File f = new File(images_urls.get(position));
Uri imageUri = Uri.fromFile(f);
holder.image.setImageURI(imageUri);
return row;
}
static class ViewHolder {
ImageView image;
}
}
And I just don't know what makes error. Could someone help me solve it?