Le risposte qui sono un po 'obsolete. Sebbene il codice rimanga lo stesso, ci sono alcuni cambiamenti nel comportamento.
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)));
}
}
Informazioni sul addFooterView()
metodo
Aggiungi una visualizzazione fissa da visualizzare in fondo all'elenco. Se addFooterView()
viene chiamato più di una volta, le visualizzazioni appariranno nell'ordine in cui sono state aggiunte. Le visualizzazioni aggiunte utilizzando questa chiamata possono essere attivate se lo desiderano.
La maggior parte delle risposte sopra sottolineano un punto molto importante:
addFooterView()
deve essere chiamato prima di chiamare setAdapter()
. In questo modo ListView può racchiudere il cursore fornito con uno che terrà conto anche delle viste di intestazione e piè di pagina.
Da Kitkat questo è cambiato.
Nota: quando è stato introdotto per la prima volta, questo metodo poteva essere chiamato solo prima di impostare l'adattatore con setAdapter (ListAdapter). A partire da KITKAT, questo metodo può essere richiamato in qualsiasi momento. Se l'adattatore di ListView non estende HeaderViewListAdapter, verrà inserito in un'istanza di supporto di WrapperListAdapter.
Documentazione