09.02.2017 Views

creez-des-applications-pour-android

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

3.6 Des widgets plus avancés et <strong>des</strong> boîtes de dialogue<br />

Heureusement, on peut personnaliser l’affichage de la seconde vue, celle qui affiche une liste,<br />

avec la fonction void setDropDownViewResource (int id). D’ailleurs, il existe déjà un<br />

layout par défaut <strong>pour</strong> cela. Voici un exemple :<br />

import java.util.ArrayList;<br />

import <strong>android</strong>.app.Activity;<br />

import <strong>android</strong>.os.Bundle;<br />

import <strong>android</strong>.widget.ArrayAdapter;<br />

import <strong>android</strong>.widget.Spinner;<br />

public class TutoListesActivity extends Activity {<br />

private Spinner liste = null ;<br />

@Override<br />

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

setContentView(R.layout.main);<br />

liste = (Spinner) findViewById(R.id.spinner1);<br />

List exemple = new ArrayList();<br />

exemple.add("Element 1");<br />

exemple.add("Element 2");<br />

exemple.add("Element 3");<br />

exemple.add("Element 4");<br />

exemple.add("Element 5");<br />

exemple.add("Element 6");<br />

}<br />

}<br />

ArrayAdapter adapter = new ArrayAdapter(this, <strong>android</strong>.R.layout.simp<br />

//Le layout par défaut est <strong>android</strong>.R.layout.simple_spinner_dropdown_item<br />

adapter.setDropDownViewResource(<strong>android</strong>.R.layout.simple_spinner_dropdown_item);<br />

liste.setAdapter(adapter);<br />

Ce code donnera la figure suivante.<br />

3.6.2 Plus complexe : les adaptateurs personnalisés<br />

Imaginez que vous vouliez faire un répertoire téléphonique. Il consisterait donc en une liste, et<br />

chaque élément de la liste aurait une photo de l’utilisateur, son nom et prénom ainsi que son<br />

numéro de téléphone. Ainsi, on peut déduire que les items de notre liste auront un layout qui utilisera<br />

deux TextView et une ImageView. Je vous vois vous trémousser sur votre chaise en vous<br />

disant qu’on va utiliser un SimpleAdapter <strong>pour</strong> faire l’intermédiaire entre les données (complexes)<br />

et les vues, mais comme nous sommes <strong>des</strong> Zéros d’exception, nous allons plutôt créer<br />

notre propre adaptateur. :D<br />

[[information]] | Je vous ai dit qu’un adaptateur implémentait l’interface Adapter, ce qui est vrai ;<br />

cependant, quand on crée notre propre adaptateur, il est plus sage de partir de BaseAdapter afin<br />

191

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!