¿Cuáles son las diferencias entre extender la actividad y extender ListActivity?

Estoy utilizando una clase que extiende Actividad para obtener una lista de una API …

En algunas aplicaciones que básicamente hacen lo mismo, los desarrolladores extendieron ListActivity …

¿Cuáles son las diferencias?

ListActivity extiende la funcionalidad de la android.app.Activity común, proporcionando una serie de características centradas en la lista 'for-free' si lo desea. Por ejemplo, el manejo de un clic de entrada de lista está bien contenido en OnListItemClick de onListItemClick(...) mientras que si estuviera usando un android.app.Activity normal, tendría que implementar esto manualmente con OnClickListener e implementación.

Por todas las cuentas, si su diseño contiene una lista, utilice ListActivity / ListFragment ya que es una extensión útil. Esto no significa que toda la distribución de la pantalla tiene que 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 aquí .

ListActivities están especialmente diseñados para ser utilizados con ListViews. Proporciona varios métodos auxiliares como onListItemClick () , que facilitan el uso de ListView en ellos.

Puedes hacer cualquier cosa que puedas hacer en una Actividad en una ListActivity.

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

Si aún no estás seguro, siempre puedes mirar el código fuente de ListActivity (código Jelly Bean vinculado a) y ver que no hace mucho más que hacer que tu vida sea un poco más fácil.

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

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

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

Además, en una Activity regular, puedes usar el código de abajo en onCreate para ocultar la barra de título de la aplicación. Parece que no se puede hacer lo mismo en ListActivity . (Aprendido esto de la manera difícil)

 requestWindowFeature(Window.FEATURE_NO_TITLE); setContentView(R.layout.activity_list); // The rest of the content of onCreate 
  • Garantizar visible en android listview?
  • Android: falló al establecerContentView al cambiar a ListActivity
  • Mensaje de error: el archivo adjunto de origen no contiene el origen del archivo ListView.class
  • Entradas duplicadas en ListView
  • Extendiendo fragmentos con listactivity
  • NullPointer cuando findViewById () en SimpleCursorAdapter
  • ¿Por qué divider no se muestra en el listview @android: id / list?
  • Rellenar listview de arraylist de objetos
  • cambiar el color de fondo de ListView desactiva el color de resaltado
  • No se puede obtener el número de fila que se ha hecho clic en la vista de lista de android
  • Android SimpleCursorAdapter no se actualiza cuando cambia la base de datos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.