/ / Comment ajouter dynamiquement la vue du pied de page - Android, Listview, Listadapter

Comment ajouter dynamiquement la vue du pied de page - Android, Listview, Listadapter

J'ai créé un ListView et ajouté en-tête avec addHeaderView, alors j'ai appelé setListAdapter dans mon ListActivity. Toute idée de comment puis-je dynamiquement addFooterView après avoir appelé setListAdapter?

RÉPONSE: J'ai ajouté la vue en-tête et la vue en pied de page (en fait, des boutons) dans la vue liste, mais tous les deux j'ai enveloppé dans un FrameLayout en utilisant wrap_content height, puis quand je n'ai pas besoin d'être le bouton d'en-tête pour être affiché, je viens de mettreVisibility (View.GONE) et FrameLayout s'enroule à 0 hauteur et vissualy, il n'est pas visible (même effet comme si j’appellerais removeHeaderView), et si j’ai besoin de le montrer à nouveau, je mets setVisibilty (View.VISIBLE) et il est affiché (même effet que addHeaderView - ce qui n’est bien sûr pas possible après avoir appelé un adaptateur de liste de paramétrage)

Discuté ici: Masquer la vue de pied de page dans ListView?

Réponses:

4 pour la réponse № 1
View header = getLayoutInflater().inflate(R.layout.header, null);
View footer = getLayoutInflater().inflate(R.layout.footer, null);
ListView listView = getListView();

listView.addHeaderView(header);
listView.addFooterView(footer);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice,
android.R.id.text1, names));

0 pour la réponse № 2

Tu dois faire comme ça

View header = (View)getLayoutInflater().inflate(R.layout.header,null);

SimpleAdapter myAdapter=new SimpleAdapter(this,myList,R.layout.transactionvalues,
new String[] {"transaction_date_time","user_name","site_name","machine_name"},new int[] {R.id.Date_Time,R.id.User,R.id.Site,R.id.Machine});

if(header == null){
lst.removeHeaderView(header);
}else
{
lst.addHeaderView(header,null,false);
}

lst.setAdapter(myAdapter);