2012-08-15 14 views

Respuesta

11

ListActivity amplía la funcionalidad del android.app.Activity común al proporcionar una serie de características centradas en listas 'de forma gratuita' si lo desea. Por ejemplo, el manejo de un clic en la entrada de la lista está claramente incluido en onListItemClick(...) de ListActivity, mientras que si estuviera usando un android.app.Activity simple, entonces tendría que implementarlo manualmente con un OnClickListener y la implementación.

Por todas las cuentas, si su diseño contiene una lista, utilice un ListActivity/ListFragment ya que es una extensión útil. No significa que toda la disposición de la pantalla debe ser lista, pero una parte de ella tiene que alojar un widget ListView con el identificador, id="@android:id/list".

El Javadoc en la clase con ejemplos útiles de cómo usarlo se puede encontrar en here.

+0

OOoh. Múltiples respuestas todas diciendo lo mismo! ¡Dárselo al desamparado! :) – OceanLife

+0

Ok, según el rendimiento es mejor usar ListActivity? – BamsBamx

+0

Básicamente son la misma cosa, pero ListActivity tiene algunos métodos de ayuda útiles que probablemente el equipo de Android haya implementado de manera eficiente y bien, por lo que se están desempeñando de la mejor manera posible. El elemento mucho más pertinente con rendimiento y listas es administrar el cursor y no hacer cosas tontas como recuperar todos los elementos en una lista solo para usar los primeros 10, etc. – OceanLife

3

ListActivities está especialmente diseñado para ser utilizado con ListViews. Proporciona varios métodos auxiliares como onListItemClick(), que hacen que sea más fácil usar un ListView en ellos.

Puede hacer cualquier cosa que pueda hacer en una actividad en una actividad de lista.

Si desea cambiar el diseño de una ListActivity, todavía puede hacerlo con el método setContentView() desde Activity. Siempre que haya un ListView llamado @android: id/list en algún lugar de su Vista, ListActivity seguirá funcionando.

Si aún no está seguro, siempre puede consultar el código fuente ListActivity (código de Jelly Bean vinculado) y ver que no hace mucho más que facilitar su vida.

2

Extendiendo del ListActivity, usted está de acuerdo con el contrato que en el diseño de su actividad estará disponible un componente ListView.

Su componente ListView debe tener el ID: @android:id/list

La clase ListView ofrece métodos convenientes para trabajar y manipular el ListView

0

Además, en un habitual Activity puedes usar el siguiente código en onCreate para ocultar la barra de título de la aplicación. Parece que no puedes hacer lo mismo en un ListActivity. (aprendió esto de la manera difícil)

requestWindowFeature(Window.FEATURE_NO_TITLE); 
setContentView(R.layout.activity_list); 
// The rest of the content of onCreate 
Cuestiones relacionadas