Ho due filatori (day_spin e time_spin) in uno Activity
. Voglio salvare il valore day_spin selezionato in una variabile. È possibile distinguere tra i due filatori nello stesso Listener
? O devo scrivere la mia classe Listener
per ogni filatore?Android: due Spinner onItemSelected()
Inoltre desidero ottenere il numero dell'elemento selezionato. Per esempio ho String Array con 6 elementi. Seleziono il numero 3. Come posso ottenere l'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);
Questo è il mio Listener
:
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
DAY = parent.getItemAtPosition(pos).toString();
TIME = parent.getItemAtPosition(pos).toString();
}
Spero che mi può aiutare!
Swith è il modo migliore, (se altro) è per il nuovo arrivato – Cabezas
@Yaqub Invece di fusione di caratteri, si può fare uso di 'getId()' chiamata direttamente. ad esempio, 'if (parent.getId() == spinnerView.getId()) {...}' – blizzard
intendete questo per favore: '' 'if (parent.getId() == R.id.spinner1)' '' – nyxee