Usuario:ManuelRomero/Android/ComponentesAplicacion/Activity/ListActivity

De WikiEducator
Saltar a: navegación, buscar



ListActivity

  • En Android es muy común que en un momento dado una aplicación me muestre una lista de elementos de los cuales voy a seleccionar uno (lista de contactos, lista de libros, ...)
  • Una vez seleccionado el elemento realizaremos la operación correspondiente como puede ser en los casos anteriores ver el detalle de ese contacto o de ese libro .

Para este tipo de tan comunes operaciones, Android nos ofrece una clase especializada llamada ListActivity

  • Es una clase que extiende de Activity y está especializada en trabajar con listas de objetos, como veremos a continuación.

ClaseListActivity.png

Dos ideas importantes sobre la clase ListActivity.
  1. ListActivity muestra una lista de objetos cuyos valores se toman de algún origen de datos como una matriz o un cursor,
  2. ListActivity nos ofreace los controles de eventos cuando el usuario selecciona un elemento de dicha lista.
onListItemClick(...)
[void onListItemClick (ListView l, View v, int position, long id)]

Poniendo el layout

  • Para colocar el Layout en nuestra Activity deberemos de poner una lista de view cada uno de los cuales corresponda a cada elemento de la lista.
  • La lista de elementos hemos comentado que la podemos sacar de un array por ejemplo o una consuta en una base de datos
  • En esta clase tiene un layout por defecto, aunque lo podemos personalizar. Podemos adaptar la lista de valores al layout por defecto, haciendo que cada elemento de la lista sea un view en nuestro layout o pantalla.

Para ello usaremos un objeto de la clase ListView.

Un ListView es un objeto que representa una lista de view con un scrooll vertical asociado que nos permite desplazarnos horizontalmente entre los diferentes view.

  • Si usamos el layout por defecto no debemos cargar en el

La propia clase implementa un layout contenedor que contiene un ListView, por lo que no necesitamos declararlo, ni asociar la actividad con ningún layout. (MRM ?)