Android : comment utiliser les Spinner dans son Application

Bonjour, heureux de vous savoir en train de me lire en ce jour. Aujourd’hui nous allons parler d’Android et du widget Spinner (Généralement appelé Combobox ou menu déroulant).

Mettre en place un Spinner dans son application est assez simple et l’opération peut se faire soit dans le fichier XML soit dans le code Java. Il faut tout de même noter que le composant Spinner est quelque peu différents des autres composants graphique tel les EditText ou les TextView.

En effet pour mettre en place un Spinner, on le crée d’abord dans notre fichier XML, puis on lui insère les éléments et c’est cette partie qui peut se faire soit via XML soit via JAVA. Comme rien ne vaut un exemple pour mieux comprendre, nous allons donc vous montrer comment procéder.

Nous allons supposer dans le reste de cet article avoir un objet Spinner dont les attributs sont :

<Spinner

android:layout_width=« wrap_content »

android:layout_height=« 30dp »

android:layout_marginBottom=« 30dp »

android:id=« @+id/spinner »

android:layout_centerVertical=« true »

android:layout_centerHorizontal=« true »/>

 

Nous allons dans un premier temps voir comment remplir son composant Spinner avec du XML. Pour cela dans le fichier strings.xml de votre application, créer un tableau de remplissage pour votre Spinner. La structure du tableau est la suivante

<string-array name=« item_array »>

<item>Faire un choix</item>

<item>Item 1</item>

<item>Item 2</item>

<item>Item 3</item>

</string-array>

 

Maintenant dans notre fichier JAVA, on procède a la jointure entre le Spinner et le tableau crée via les lignes de codes suivantes :

Spinner spin = (Spinner) findViewById(R.id.spinner);

ArrayAdapter <CharSequence> adapter = ArrayAdapter.createFromResource(this,R.array.item_array,android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

spin.setAdapter(adapter);

 

Comme vous le voyez je crée un adapter qui prend en paramètre le tableau XML crée plus tôt et puis j’ajoute cet adapter à l’objet Spinner.

Et voilà, en procédant comme cela, votre objet Spinner est opérationnel et prêt à fonctionner.

Maintenant voyons le cas de figure ou votre tableau d’items est plutôt crée avec Java, la logique à respecter est la suivante : On déclare dans un premier temps un tableau d’items

String [] itemArray = {« Item 1″, »Item 2″, »Item 3 »};

Puis comme dans le cas précèdent, on déclare notre objet Spinner

Spinner spin = (Spinner) findViewById(R.id.spinner);

Et enfin on fait la liaison entre notre objet Spinner et le tableau Java ; et cela via les adapter comme toujours

ArrayAdapter <String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,itemArray);

spin.setAdapter(adapter);

Voilà, les deux procédés vous sont révèles, vous pouvez des maintenant ajouter des Spinner dans vos applications Android assez facilement.

Pour aller plus loin, il est parfois nécessaire de savoir quel élément du Spinner a été sélectionnée, pour cela utilisez l’instruction suivante :

String itemSelect = spin.getSelectedItem().toString();

Avec cette instruction itemSelect prend la valeur du Spinner sélectionné.

Il est aussi possible de déclarer un listener sur un Spinner, question d’exécuter une opération lorsque l’on fait un choix, pour cela la structure a respecter est la suivante :

 

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

@Override

Public void onItemSelected(AdapterView<?> parent,View view,

Int position,long id){

// action a faire ici, position represente la position de l’element selectionne

Log.v(« item »,(String)parent.getItemAtPosition(position));

}

@Override

Public void onNothingSelected(AdapterView<?> parent){

//TODOAuto-generatedmethodstub

}

});

 

 

Voilà avec cela se termine notre article qui avait pour but de vous initier à l’utilisation des Spinner sous Android.

Je vous souhaite donc une bonne lecture et vous dit à bientôt sur notre Blog.

Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s