2009-07-28 21 views
7

OK, así que creo que he agotado la búsqueda de esta pregunta, y es que me falta algo o nadie más ha intentado crear un GridView (mostrando imágenes) que permite al usuario seleccionar múltiples imágenes. Básicamente quiero que aparezca el cuadro de selección naranja siempre que un usuario seleccione una imagen, o desaparezca si el usuario ya ha elegido la imagen.Múltiple seleccionable GridView

¿Es esto algo que tendré que rodar con una vista de cliente? También puedo intentar incluir un CheckBox con cada imagen y seleccionar CheckBox si la imagen es.

Cualquier ayuda sería muy apreciada.

  • Michael

Respuesta

1

Sólo señalar una casilla de verificación en mapa de bits de la célula cuando se selecciona. Dibuje el original al alternar sin marcar.

private Bitmap drawCheck(Bitmap bmp) 
    { 
    Bitmap bmChecked = Bitmap.createBitmap(bmp.getWidth(),  bmp.getHeight(), bmp.getConfig()); 
    Bitmap check = BitmapFactory.decodeResource(mContext.getResources(), R.drawable.upcheck); 
    Canvas canvas = new Canvas(bmChecked); 

    canvas.drawBitmap(bmp, 0, 0, null); 
    canvas.drawBitmap(check, 0, 0, null); 
    return bmChecked; 
    } 
1

He usado un excelente code by Mihai Fonoage.

Y luego:

  1. añade una bandera seleccionado para la clase LoadedImage,
  2. en la función onItemClick() me marca el punto marcado según los seleccionada
  3. en getView del adaptador() utiliza el indicador de es decir, establecer el fondo de la imagen

IT WORKS.

+0

¿Puedes publicar tu código? – Patrick

+0

Bueno, no estoy seguro de poder publicar su código. Si analiza minuciosamente el código del enlace y luego hace lo que le indiqué, estoy seguro de que no irá por el camino equivocado. – Yar

5

Eche un vistazo a this example - utilizan una clase de diseño personalizado que implementa la interfaz Comprobable y establece un fondo de color dibujable en los elementos marcados.