2012-07-19 11 views
12

Tengo Image Gridview y quiero agregar imágenes ONE by ONE a la vista de grilla seleccionando desde la galería o la imagen capturada desde la cámara.Cómo llenar la vista de cuadrícula con la imagen que acaba de seleccionar de la galería o capturada desde la cámara

+0

hey tienen una consulta por favor me proporcione algunos detalles .... do u desea agregar una imagen seleccionada de la galería en la vista de cuadrícula o la totalidad imagen que se muestra en la vista de cuadrícula que están presentes en la galería .. .. –

Respuesta

4

Lo que puede hacer en su caso siempre es tener una imagen asignada al último elemento de su vista de cuadrícula. Al hacer clic en ese último elemento, puede crear una ventana emergente pidiéndole que lo lleve a su galería o a la cámara. Ahora, si el usuario hace clic en el botón Atrás o decide cancelar, sigue mostrando la última imagen de signo "+" en la vista de cuadrícula; de lo contrario, si hay otra opción habilitada, puede navegar a la acción deseada teniendo en onActivityResult(). si el resultado código es positivo y se puede continuar con:

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 

y siempre puso una condición para el último elemento de la vista de cuadrícula para apuntar al cuadro de diálogo para navegar a la galería o Haga clic de la cámara. Para otros artículos puede continuar con sus requisitos deseados.

Avísame si te fue útil.

Gracias

1

Colocar imágenes en la carpeta [Imágenes] en la tarjeta 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; 

} 

}

Cuestiones relacionadas