Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Android] setOnItemSelectedListener() au lancement activity

    10 octobre 2012 à 12:22:38

    Bonjour j'ai un soucis surement simple à résoudre.

    J'ai 3 spinners, et au lancement de l'activity je voudrais recuperé les positions de chaque spinner pour les utilisés dans une méthode.

    Seulement quand mon activity se lance, les setOnItemSelectedListener sont bien parcourues, les variables remplis mais quand ma méthode est lancée, les variables sont à 0.

    public class Notation  extends Activity{
            private Spinner testeur;
            private Spinner produit;
            private Spinner critere;
            ...
            private long id_session = 0;
            private long id_critere = 0;
            private long id_testeur = 0;
            private long id_produit = 0;
            private int echelle = 0;
     
    public void onCreate(Bundle savedInstanceState) {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.notation);
                    ...
                            listeTesteurs = DBManager.sharedManager().getAllTesteurs(id_session, tag);
                    testeur = (Spinner) findViewById(R.id.spinnerTesteur);
                    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                                    android.R.layout.simple_spinner_item, listeTesteurs);
                    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    testeur.setAdapter(dataAdapter);
     
                    critere = (Spinner) findViewById(R.id.SpinnerCritere);
                    listeCriteres = DBManager.sharedManager().getAllCriteres(Variable);
                    final ArrayAdapter<String> critereAdapter = new ArrayAdapter<String>(this,
                                    android.R.layout.simple_spinner_item, listeCriteres);
                    critereAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    critere.setAdapter(critereAdapter);
     
                    produit = (Spinner) findViewById(R.id.SpinnerProduit);


    produit.setOnItemSelectedListener(new OnItemSelectedListener() {
     
                            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                                            long arg3) {
                                    id_produit = arg3+1;
                            }
     
                            public void onNothingSelected(AdapterView<?> arg0) {
                                    // TODO Auto-generated method stub
     
                            }
                    });
     
                    testeur.setOnItemSelectedListener(new OnItemSelectedListener() {
     
                            public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                                            long arg3) {
                                    id_testeur = arg3+1;
                            }
     
                            public void onNothingSelected(AdapterView<?> arg0) {
                                    // TODO Auto-generated method stub
     
                            }
                    });
     
    critere.setOnItemSelectedListener(new OnItemSelectedListener() {
     
                            public void onItemSelected(AdapterView<?> arg0, View arg1,
                                            int arg2, long arg3) {
                                    id_critere = arg3+1;
                                    listeProduits = DBManager.sharedManager().getProductsNotation(id_critere, id_session);
                                    produitAdapter = new ArrayAdapter<String>(Notation.this,
                                                    android.R.layout.simple_spinner_item, listeProduits);
                                    produitAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                                    produit.setAdapter(produitAdapter);
                                    cr = DBManager.sharedManager().getCritere(id_critere);
                                    continu.setVisibility(View.INVISIBLE);
                                    discrete.setVisibility(View.INVISIBLE);
                                    libelle1.setChecked(false);
                                    libelle2.setChecked(false);
                                    libelle3.setChecked(false);
                                    libelle4.setChecked(false);
                                    libelle5.setChecked(false);
                                    if (cr.getNiveau() != 0){
                                            echelle = 1;
                                    }
                                    else {
                                            echelle = 0;
                                    }
                                    if (echelle == 1){
                                            discrete.setVisibility(View.VISIBLE);
                                            libelle1.setText(cr.getLibelle1());
                                            libelle2.setText(cr.getLibelle2());
                                            libelle3.setText(cr.getLibelle3());
                                            libelle4.setText(cr.getLibelle4());
                                            libelle5.setText(cr.getLibelle5());
                                    }
                                    else if (echelle == 0) {
                                            continu.setVisibility(View.VISIBLE);
                                            min.setText("Minimum : "+cr.getMin());
                                            max.setText("Maximum : "+cr.getMax());
                                            progress.setMax(cr.getMax()-1);
                                            tvNote.setText("Note : "+cr.getMin());
                                    }
                            }


    if(echelle == 1){
                            n = DBManager.sharedManager().getNote(id_critere, id_session, id_produit, id_testeur, echelle);
                            if (n != null) {
                                    if (n.getTag() == 1){
                                            libelle1.setChecked(true);
                                    }
                                    if (n.getTag() == 2){
                                            libelle2.setChecked(true);
                                    }
                                    if (n.getTag() == 3){
                                            libelle3.setChecked(true);
                                    }
                                    if (n.getTag() == 4){
                                            libelle4.setChecked(true);
                                    }
                                    if (n.getTag() == 5){
                                            libelle5.setChecked(true);
                                    }
                            }
                    }
                    else if (echelle == 0){
                            n = DBManager.sharedManager().getNote(id_critere, id_session, id_produit, id_testeur, echelle);
                            if (n.getId() != 0) {
                                    progress.setProgress(Integer.parseInt(n.getValeur()));
                            }
                    }


    Merci d'avance pour votre aide
    • Partager sur Facebook
    • Partager sur Twitter

    [Android] setOnItemSelectedListener() au lancement activity

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown