Mam dwa spinners (day_spin i time_spin) w jednym Activity
. Chcę zapisać wybraną wartość day_spin w zmiennej. Czy możliwe jest rozróżnienie pomiędzy dwoma spinnerami w tym samym Listener
? Czy muszę napisać własną klasę Listener
dla każdej przędzarki?Android: dwa Spinner onItemSelected()
Chcę również uzyskać numer wybranego elementu. Na przykład mam String Array z 6 elementami. Wybieram numer 3. Jak mogę uzyskać identyfikator?
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);
To jest mój Listener
:
public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) {
DAY = parent.getItemAtPosition(pos).toString();
TIME = parent.getItemAtPosition(pos).toString();
}
Mam nadzieję, że może mi pomóc!
Swith jest najlepszym sposobem, (jeśli inny) jest dla przybysza – Cabezas
@Yaqub Zamiast rzutowania, możemy użycie 'getId()' wezwanie bezpośrednio. np. 'if (parent.getId() == spinnerView.getId()) {...}' – blizzard
masz na myśli to: '' 'if (parent.getId() == R.id.spinner1)' '' – nyxee