Las respuestas aquí están un poco desactualizadas. Aunque el código sigue siendo el mismo, hay algunos cambios en el comportamiento.
public class MyListActivity extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
TextView footerView = (TextView) ((LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer_view, null, false);
getListView().addFooterView(footerView);
setListAdapter(new ArrayAdapter<String>(this, getResources().getStringArray(R.array.news)));
}
}
Información sobre el addFooterView()
método
Agregue una vista fija para que aparezca al final de la lista. Si addFooterView()
se llama más de una vez, las vistas aparecerán en el orden en que se agregaron. Las vistas agregadas mediante esta llamada pueden enfocarse si lo desean.
La mayoría de las respuestas anteriores enfatizan un punto muy importante:
addFooterView()
debe ser llamado antes de llamar setAdapter()
. Esto es para que ListView pueda envolver el cursor provisto con uno que también tenga en cuenta las vistas de encabezado y pie de página.
Desde Kitkat esto ha cambiado.
Nota: Cuando se introdujo por primera vez, este método solo se pudo llamar antes de configurar el adaptador con setAdapter (ListAdapter). A partir de KITKAT, este método se puede llamar en cualquier momento. Si el adaptador de ListView no extiende HeaderViewListAdapter, se empaquetará con una instancia de soporte de WrapperListAdapter.
Documentación