1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
package com.formation.liste;
import java.util.ArrayList;
import java.util.HashMap;
import android.app.AlertDialog;
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListView;
import android.widget.SimpleAdapter;
public class Menu extends ListActivity {
private ListView maListViewPerso;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.menu);
//Récupération de la listview créée dans le fichier main.xml
maListViewPerso = (ListView) findViewById(R.id.listviewperso);
//Création de la ArrayList qui nous permettra de remplir la listView
ArrayList<HashMap<String, String>> listItem = new ArrayList<HashMap<String, String>>();
//On déclare la HashMap qui contiendra les informations pour un item
HashMap<String, String> map;
//Création d'une HashMap pour insérer les informations du premier item de notre listView
map = new HashMap<String, String>();
//on insère un élément titre que l'on récupérera dans le textView titre créé dans le fichier affichageitem.xml
map.put("titre", "Profil");
//on insère un élément description que l'on récupérera dans le textView description créé dans le fichier affichageitem.xml
map.put("description", "");
//on insère la référence à l'image (converti en String car normalement c'est un int) que l'on récupérera dans l'imageView créé dans le fichier affichageitem.xml
map.put("img", String.valueOf(R.drawable.profil));
//enfin on ajoute cette hashMap dans la arrayList
listItem.add(map);
//On refait la manip plusieurs fois avec des données différentes pour former les items de notre ListView
map = new HashMap<String, String>();
map.put("titre", "Gestion des correspandant");
map.put("description", "Contacts");
map.put("img", String.valueOf(R.drawable.contact));
listItem.add(map);
map = new HashMap<String, String>();
map.put("titre", "Gestion des réunions");
map.put("description", "Organisation");
map.put("img", String.valueOf(R.drawable.reunion));
listItem.add(map);
map = new HashMap<String, String>();
map.put("titre", "Gestion des actualités");
map.put("description", "Nouveautés");
map.put("img", String.valueOf(R.drawable.actualite));
listItem.add(map);
//Création d'un SimpleAdapter qui se chargera de mettre les items présents dans notre list (listItem) dans la vue affichageitem
SimpleAdapter mSchedule = new SimpleAdapter (this.getBaseContext(), listItem, R.layout.listemenu,
new String[] {"img", "titre", "description"}, new int[] {R.id.img, R.id.titre, R.id.description});
//On attribue à notre listView l'adapter que l'on vient de créer
maListViewPerso.setAdapter(mSchedule);
//Enfin on met un écouteur d'évènement sur notre listView
maListViewPerso.setOnItemClickListener(new OnItemClickListener() {
@SuppressWarnings("unchecked")
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
//on récupère la HashMap contenant les infos de notre item (titre, description, img)
HashMap<String, String> map = (HashMap<String, String>) maListViewPerso.getItemAtPosition(position);
}
});
}
} |
Partager