Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
344 L’art du développement Android
fournies à onCreate() (via getIntent()) et à onNewIntent() pour savoir si l’une d’elles
est une recherche, auquel cas elle effectue la recherche et affiche le résultat.
L’application Search/Lorem, par exemple, commence comme un clone de l’application
du Chapitre 8, qui affichait une liste des mots pour démontrer l’utilisation du conteneur
ListView. Ici, nous la modifions pour pouvoir rechercher les mots qui contiennent une
chaîne donnée.
L’activité principale et l’activité de recherche partagent un layout formé d’une ListView
et d’un TextView montrant l’entrée sélectionnée :

android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
android:id="@+id/selection"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawSelectorOnTop="false"
/>

L’essentiel du code des activités se trouve dans une classe abstraite LoremBase :
abstract public class LoremBase extends ListActivity {
abstract ListAdapter makeMeAnAdapter(Intent intent);
private static final int LOCAL_SEARCH_ID = Menu.FIRST+1;
private static final int GLOBAL_SEARCH_ID = Menu.FIRST+2;
private static final int CLOSE_ID = Menu.FIRST+3;
TextView selection;
ArrayList items=new ArrayList();
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
selection=(TextView)findViewById(R.id.selection);
try {
XmlPullParser xpp=getResources().getXml(R.xml.words);
while (xpp.getEventType()!=XmlPullParser.END_DOCUMENT) {
Livre Android.book Page 344 Dimanche, 8. novembre 2009 12:23 12
Précédent

- 359/391

Suivant