如何使用刚从库中选择或从相机捕获的图像填充gridview

时间:2012-07-19 10:07:23

标签: android gridview bitmap

我有Image Gridview,我想将图像 ONE by ONE 添加到gridview中,从图库中选择或从相机中捕获的图像。

3 个答案:

答案 0 :(得分:4)

在您的情况下,您可以执行的操作始终是将图像分配给网格视图的最后一项。 点击最后一项,你可以创建一个弹出窗口,要求你把它带到你的画廊或相机。 现在,如果用户点击后退按钮或决定取消,请继续在网格视图中显示最后填充的“+”符号图像,否则,如果选择了其他任何选项,则可以通过onActivityResult().导航到所需操作 如果结果代码是肯定的,您可以继续:

1) Delete the last item from grid view i.e, the '+' sign image
2) Appending the image either taken from camera or gallery
3) Appending the image having '+' sign itself

并始终为网格视图的最后一项添加条件,将其指向导航到图库或从相机单击的对话框。 对于其他项目,您可以继续满足您的要求。

如果有帮助,请告诉我。

由于

答案 1 :(得分:2)

答案 2 :(得分:1)

将图像放入SD卡中的[图像]文件夹

public class ChannelImageAdapter extends BaseAdapter {

int mGalleryItemBackground;
private Context mContext;
File[] images;
File[] files;
public ChannelImageAdapter(Context c, int folderID) {
    mContext = c;

    File dir = new File(Environment.getExternalStorageDirectory() + "/images");
    files = dir.listFiles();
    images = files[folderID].listFiles();

}
public int getCount() {
    return images.length;
}
public Object getItem(int position) {
    return images[position].getAbsolutePath();
}
public long getItemId(int position) {
    return position;
}
public String getAlbumName(int folderID) {
    return files[folderID].getName();
}
public View getView(int position, View convertView, ViewGroup parent) {

    ImageView imageView;
    //Bitmap bm = BitmapFactory
    //      .decodeFile(images[position].getAbsolutePath());
    if (convertView == null) {
        imageView = new ImageView(mContext);
        imageView.setLayoutParams(new GridView.LayoutParams(100, 100));
        imageView.setScaleType(ImageView.ScaleType.FIT_XY);
        imageView.setPadding(5, 10, 5, 10);
    } else {
        imageView = (ImageView) convertView;
    }
    imageView.setImageBitmap(Bitmap.decode(images[position].getAbsoluteFile()));
    return imageView;

}

}