Odpowiedzi tutaj są nieco nieaktualne. Chociaż kod pozostaje ten sam, nastąpiły pewne zmiany w zachowaniu.
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)));
}
}
Informacje o addFooterView()
metodzie
Dodaj stały widok, aby pojawił się na dole listy. Jeśli addFooterView()
zostanie wywołana więcej niż raz, widoki będą wyświetlane w kolejności, w jakiej zostały dodane. Widoki dodane za pomocą tego wywołania mogą być fokusem, jeśli chcą.
Większość powyższych odpowiedzi podkreśla bardzo ważny punkt -
addFooterView()
musi być wywołane przed wywołaniem. setAdapter()
To jest tak, że ListView może zawijać dostarczony kursor takim, który będzie również uwzględniał widoki nagłówka i stopki.
Od Kitkat to się zmieniło.
Uwaga: Po pierwszym wprowadzeniu tę metodę można było wywołać tylko przed ustawieniem adaptera za pomocą setAdapter (ListAdapter). Począwszy od KITKAT, tę metodę można wywołać w dowolnym momencie. Jeśli adapter ListView nie rozszerza HeaderViewListAdapter, zostanie opakowany z obsługującym wystąpieniem WrapperListAdapter.
Dokumentacja