wake-up-neo.net

Android: zwei Spinner onItemSelected ()

Ich habe zwei Spinner (day_spin und time_spin) in einem Activity. Ich möchte den ausgewählten day_spin-Wert in einer Variablen speichern. Kann man die beiden Spinner in derselben Listener unterscheiden? Oder muss ich für jeden Spinner eine eigene Listener Klasse schreiben?

Ich möchte auch die Nummer des ausgewählten Elements erhalten. Zum Beispiel habe ich String Array mit 6 Elementen. Ich wähle Nummer 3. Wie bekomme ich die ID?

    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);

Das ist mein Listener:

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

Ich hoffe ihr könnt mir helfen!

38
JavaNullPointer
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
    if(parent.getId() == R.id.spinner1)
    {
      //do this                    
    }
    else if(parent.getId() == R.id.spinner2)
    {
      //do this
    }
}
113
Yaqub Ahmad
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;              
    }
19
leonardo

in onItemSelected Methode

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

String strName1 = yourFirstarray[i];
String strName2 = yourSecondarray[j];
3

versuche dies...

public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
if(parent.getId() == R.id.spinnerone)
{
       // operations            
}
else if(parent.getId() == R.id.spinnertwo)
{
  //operations
}
}
0
Mayur Kodhe