Android: deux Spinner onitemsélectionnés()

j'ai deux toupies (day_spin et time_spin) dans un Activity. Je veux sauvegarder la valeur day_spin sélectionnée dans une variable. Est-il possible de différencier les deux spinners dans le même Listener? Ou dois-je écrire mon propre Listener classe pour chaque spinner?

Je veux aussi obtenir le numéro de l'article sélectionné. Par exemple, j'ai un tableau de chaînes de caractères Avec 6 éléments. Je choisis le numéro 3. Comment puis-je obtenir la carte d'identité?

    day_spin = (Spinner) findViewById(R.id.spinner);
    ArrayAdapter<CharSequence> adapter_day = ArrayAdapter
            .createFromResource(this, R.array.spinner_day_array,
                    android.R.layout.simple_spinner_item);
    adapter_day
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    day_spin.setAdapter(adapter_day);
    day_spin.setOnItemSelectedListener(this);

    time_spin = (Spinner) findViewById(R.id.spinner1);
    ArrayAdapter<CharSequence> adapter_time = ArrayAdapter
            .createFromResource(this, R.array.spinner_time_array,
                    android.R.layout.simple_spinner_item);
    adapter_time
            .setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    time_spin.setAdapter(adapter_time);
    time_spin.setOnItemSelectedListener(this);

C'est mon Listener:

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    DAY = parent.getItemAtPosition(pos).toString();
    TIME = parent.getItemAtPosition(pos).toString();
}

j'espère que vous pourrez m'aider!

35
demandé sur Guido 2012-02-13 19:15:00

3 réponses

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {

     Spinner spinner = (Spinner) parent;
     if(spinner.getId() == R.id.spinner1)
     {
       //do this                    
     }
     else if(spinner.getId() == R.id.spinner2)
     {
       //do this
     }

}
104
répondu Yaqub Ahmad 2013-01-06 21:05:11
public void onItemSelected(AdapterView<?> parent, View view, 
        int pos, long id) {
    // An item was selected. You can retrieve the selected item using
    //parent.getItemAtPosition(pos);

    //Spinner spnir = (Spinner)parent;

    parent.getItemAtPosition(pos);

    TextView  tvReadValue = (TextView) findViewById(R.id.tvReadValue);
    switch (parent.getId()) 
    {         
        case R.id.spinDimension:

            tvReadValue.setText("spinDimension" + pos);

            break;              

        case R.id.speedDimension:

            tvReadValue.setText("speedDimension" + pos);
            break;              
    }
17
répondu leonardo 2012-11-17 23:07:58

onItemSelected méthode

int i = spinnerFirst.getSelectedItemPosition();
int j = spinnerSecond.getSelectedItemPosition();

String strName1 = yourFirstarray[i];
String strName2 = yourSecondarray[j];
3
répondu Samir Mangroliya 2014-08-04 16:06:26