13

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

4

3 回答 3

5

在您的情况下,您可以做的是始终将图像分配给网格视图的最后一项。单击最后一个项目,您可以创建一个弹出窗口,要求您将其带到您的画廊或相机。现在,如果用户单击后退按钮或决定取消继续在您的网格视图中显示最后填充的“+”符号图像,否则如果选择了任何其他选项,您可以通过在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

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

让我知道它是否有帮助。

谢谢

于 2013-02-18T06:57:08.553 回答
2

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

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;

}

}

于 2013-02-11T07:31:38.033 回答