Вы можете настроить метку и значение для каждого индекса Spinner
.
Подумайте, что значение -1
является значением по умолчанию, которое вы хотите игнорировать. Таким образом, я думаю, что этот кусок кода может помочь вам:
Spinner spinner = (Spinner)findViewById(R.id.spinner);
SpinnerItem item1 = new SpinnerItem();
item1.setText("Default Query");
item1.setValue(-1);
SpinnerItem item2 = new SpinnerItem();
item2.setText("Query1");
item2.setValue(10);
SpinnerItem item3 = new SpinnerItem();
item3.setText("Query 2");
item3.setValue(20);
SpinnerItem[] data = new SpinnerItem[3];
data[0] = item1;
data[1] = item2;
data[2] = item3;
ArrayAdapter<SpinnerItem> adapter = new ArrayAdapter<SpinnerItem>(this, android.R.layout.simple_spinner_item, data);
spinner.setAdapter(adapter);
Где SpinnerItem - класс:
public class SpinnerItem {
String text;
Integer value;
public String getText() {
return text;
}
public void setText(String text){
this.text = text;
}
public Integer getValue() {
return value;
}
public void setValue(Integer value){
this.value = value;
}
public String toString() {
return text;
}
}
После этого вы можете получить выделенный предмет и посмотреть его значение:
SpinnerItem item = (SpinnerItem) spinner.getSelectedItem();
if(item.getValue() == -1){
//do Something.
}
Надеюсь, это помогло!