´

Es muy común olvidar algún paso o detalle a la hora de hacer un trabajo sistematico dentro de la programación (o por lo menos yo, Mr memoria pez), por eso intento apuntar los pasos y anotaciones cada vez que aprendo algo nuevo, así voy a empezar a escribir esta serie de entradas en el blog para tambien compartirlo ya que seguramente le sea útil a alguien.

Esta primera entrada la voy a dedicar a explicar como podeis hacer vuestros ListView personalizados en Android, partiendo de que ya tenéis un conocimiento básico de Android (Java, Actividades, layout…).

  1. Para empezar la clase que contorla la actividad de nuestro listView tiene que extender de ListActivity
  2. Luego tenemos que crear el layout que va a contener nuestro listActivity, este debe tener un componente ListView el cual debe tener como id “@android:id/list“, os dejo todo el código de este layout:
  3. Ahora creamos el layout que indicara el estilo de cada fila, para este ejemplo voy a crear una fila sencilla donde aparece una imagen en el lado izquierdo, un texto superior el cual sería el título y abajo un texto mas pequeño donde podría ir una descripción o texto complementario.
  4. Ahora tenemos que crear nuestro propio adaptador, creamos una clase la cual extiende de BaseAdapter, en el constructor de esta clase debemos de pasarle el activity de la clase que lo llama y los array los cuales contienen la información de cada elemento que se va a mostrar en el ListView; en mi caso le voy a pasar dos arrays con elementos String, uno con una lista de nombres de países y otro con una lista de saludos en cada idioma de ese país; tambien le pasaré el array que contiene cada icono, en este caso las banderas de cada país, como es un recurso Drawable, se le pasa como un número entero, el cual hace referencia a la dirección de esa imagen.
    Os dejo toda el código de la clase adaptador con todas sus funciones necesarias:
  5. Cuando terminamos de crear nuestro adaptador, establecemos este adaptador a nuestra ListActivity con la siguiente línea, la cual incluimos dentro del método onCreate:
  6. Por último, lo más común es que nuestro ListView haga algo después de tocar alguna de ellas, para ello incluimos la función onListItemClick dentro de nuestra clase encargada de la actividad de la lista; en el caso de este ejemplo he añadido un toast el cual indica que posición de la lista has pulsado.
    Aprovecho esto para dejaros todo el código de esta clase:

Aquí termina este pequeño tutorial de como crear las vistas en listas personalizadas, aunque no está optimizado, si por ejemplo aplicáramos un gran numero de imágenes podemos tener cierres forzados de la aplicación, o si por ejemplo queremos obtener la imágenes desde una URL tendríamos que agregar varias clases que nos ayuden a hacer esto de la forma mas óptima. En un siguiente tutorial le meteremos mas caña al ListView y explicaré como hacerlo de forma optimizada.

Tengo alojado este proyecto en GitHub junto con todos sus recursos (imagenes..), si quieres acceder haz click sobre la siguiente imagen:
github

15 abril, 2013 Programación

Primer diseño web que le doy a este blog, basado en el theme para wordpress “Stumblr” con varias modificaciones y incorporación del banner superior

 

20 septiembre, 2012 Diseño web

Algunas fotos que le hice a Jesús en un spot creado por los skater, el cual me han comentado que ha desaparecido definitivamente (R.I.P. Viveros)

  

 

19 septiembre, 2012 Fotografía

Después de estar un tiempo sin editar, entre otras cosas porque mi otra cámara se fue a mejor vida, estuve mirando las cámaras DSLR la cuales se están haciendo muy famosas en esto de la edición de vídeo, me hice con una y esto fue lo que salió.

19 septiembre, 2012 Edición de vídeo

Diseño de la carta de menús para el restaurante La Suara, trabajo integro con Photoshop.

  

19 septiembre, 2012 Sin categoría

Unas de las primeras fotos que tiré recién me hice con la cámara  600D y objetivo 18-55 mm, típicas fotos nocturnas jugando con la velocidad de obturación.

  

 

18 septiembre, 2012 Fotografía