2014-08-28 5 views
1

Je rencontre un problème lorsque mon spinner accède au premier cas et redirige immédiatement. Comment puis-je utiliser le:Android spinner, rien de sélectionné

@Override 
    public void onNothingSelected(AdapterView<?> view); { 
     // TODO Auto-generated method stub 

    } 

correctement pour rester sur la page avant que l'utilisateur ne fasse une sélection. Voici mon code.

// Creating adapter for spinner & choosing Drop down layout style - list view 
    ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.event,android.R.layout.simple_spinner_dropdown_item); 

    // attaching data adapter to spinner 
    spinner.setAdapter(adapter); 

    //spinner needs to know who is responsible for handling events 
    spinner.setOnItemSelectedListener(this); 
} 

@Override 
public void onItemSelected(AdapterView<?> adapterView, View view, int pos, long l) { 

    //casting the view to textView 
    TextView myText=(TextView) view; 

    // use .getText to display what text was selected by user 
    Toast.makeText(this,"You Selected "+myText.getText(),Toast.LENGTH_SHORT).show(); 



    switch (pos) { 
     case (0): 
      //Case selection redirecting user to 'Training Table' 
      Intent a = new Intent(Calendar.this, TrainingTable.class); 
      Calendar.this.startActivity(a); 
      break; 
     case (1): 
      //Case selection redirecting user to 'Race Table' 
      Intent b = new Intent(Calendar.this, Races.class); 
      Calendar.this.startActivity(b); 
      break; 

     case (2): 
      //Case selection redirecting user to 'Workshops page' 
      Intent c = new Intent(Calendar.this, Workshops.class); 
      Calendar.this.startActivity(c); 
      break; 
    } 

Répondre

2

forcer le bouton rotatif pour sélectionner un élément:

spinner.setSelection(0); 

Et puis définissez l'auditeur:

spinner.setOnItemSelectedListener(this); 

Cela ne doit être fait une fois, lorsque le spinner est créé. De cette façon, vous évitez les appels indésirables à OnItemSelectedListener qui est appelée une fois par défaut.

Questions connexes