2012-07-19 52 views

回答

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

认沽图像[图片]在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; 

} 

}

相关问题