exemple spinner Android (liste déroulante)

Exemple de spinner Android (liste déroulante)

Dans Android, vous pouvez utiliser la classe «http://developer.android.com/reference/android/widget/Spinner.html[android.widget.Spinner]» pour afficher une liste de sélection de liste déroulante.

Note
Spinner est un widget similaire à une liste déroulante pour sélectionner des éléments.

Dans ce didacticiel, nous vous montrons comment effectuer les tâches suivantes:

  1. Rendez un Spinner en XML et chargez également les éléments de sélection via un fichier XML.

  2. Rendez un autre Spinner en XML et chargez les éléments de sélection via du code de manière dynamique.

  3. Attachez un écouteur sur Spinner, déclenchez lorsque l'utilisateur sélectionne une valeur dans Spinner.

  4. Rendez et attachez un écouteur sur un bouton normal, déclenchez lorsque l'utilisateur clique dessus, et il affichera la valeur sélectionnée de Spinner.

P.S This project is developed in Eclipse 3.7, and tested with Android 2.3.3.

1. Liste des éléments dans Spinner

Ouvrez le fichier «res/values/strings.xml», définissez la liste des éléments qui s'afficheront dans Spinner (liste déroulante).

Fichier: res / values ​​/ strings.xml




    MyAndroidApp
    Choose a country

    
        Malaysia
        United States
        Indonesia
        France
        Italy
        Singapore
        New Zealand
        India
    

2. Spinner (liste déroulante)

Ouvrez le fichier «res/layout/main.xml», ajoutez deux composants spinner et un bouton.

  1. Dans «spinner1», le «android:entries» représente les éléments de sélection dans le spinner.

  2. Dans «spinner2», les éléments de sélection seront définis dans le code ultérieurement.

Fichier: res / layout / main.xml




    

    

    

3. Code Code

Lisez le code et aussi le commentaire du code, il devrait être explicite.

Fichier: MyAndroidAppActivity.java

package com.example.android;

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.Spinner;
import android.widget.Toast;

public class MyAndroidAppActivity extends Activity {

  private Spinner spinner1, spinner2;
  private Button btnSubmit;

  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    addItemsOnSpinner2();
    addListenerOnButton();
    addListenerOnSpinnerItemSelection();
  }

  // add items into spinner dynamically
  public void addItemsOnSpinner2() {

    spinner2 = (Spinner) findViewById(R.id.spinner2);
    List list = new ArrayList();
    list.add("list 1");
    list.add("list 2");
    list.add("list 3");
    ArrayAdapter dataAdapter = new ArrayAdapter(this,
        android.R.layout.simple_spinner_item, list);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner2.setAdapter(dataAdapter);
  }

  public void addListenerOnSpinnerItemSelection() {
    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner1.setOnItemSelectedListener(new CustomOnItemSelectedListener());
  }

  // get the selected dropdown list value
  public void addListenerOnButton() {

    spinner1 = (Spinner) findViewById(R.id.spinner1);
    spinner2 = (Spinner) findViewById(R.id.spinner2);
    btnSubmit = (Button) findViewById(R.id.btnSubmit);

    btnSubmit.setOnClickListener(new OnClickListener() {

      @Override
      public void onClick(View v) {

        Toast.makeText(MyAndroidAppActivity.this,
        "OnClickListener : " +
                "\nSpinner 1 : "+ String.valueOf(spinner1.getSelectedItem()) +
                "\nSpinner 2 : "+ String.valueOf(spinner2.getSelectedItem()),
            Toast.LENGTH_SHORT).show();
      }

    });
  }
}

Fichier: CustomOnItemSelectedListener.java

package com.example.android;

import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.Toast;

public class CustomOnItemSelectedListener implements OnItemSelectedListener {

  public void onItemSelected(AdapterView parent, View view, int pos,long id) {
    Toast.makeText(parent.getContext(),
        "OnItemSelectedListener : " + parent.getItemAtPosition(pos).toString(),
        Toast.LENGTH_SHORT).show();
  }

  @Override
  public void onNothingSelected(AdapterView arg0) {
    // TODO Auto-generated method stub
  }

}

4. Demo

Exécutez l'application.

1. Résultat, deux filateurs s'affichent:

android spinner demo1

android spinner demo2

2. Sélectionnez «France» dans spinner1, l'écouteur de sélection d'élément est renvoyé:

android spinner demo3

3. Sélectionnez «list2» dans spinner2 et cliquez sur le bouton soumettre:

android spinner demo4

Télécharger le code source

Téléchargez-le -Android-Spinner-DropDownList-Example.zip (16 Ko)