Android - опция по умолчанию в спиннер - PullRequest
1 голос
/ 06 октября 2011

Как я могу установить параметр по умолчанию в счетчике?

Я заполнил 3 счетчика разными запросами, и, возможно, я просто хочу использовать 2 из этих счетчиков, а не 3. Так что всегда есть значение, установленное в счетчике. Как я могу избежать значения? Может быть, если заполнить массив, я могу установить опцию по умолчанию в позиции 0, но я заполняю счетчики запросами.

Я знаю, что счетчики сделаны для того, чтобы иметь значение, поэтому, возможно, я мог бы поместить их в значение по умолчанию, чтобы в onitemclicklistener я мог избежать использования этого счетчика, если if (valuespinnerselected = "Default") ничего не делает

Ответы [ 2 ]

2 голосов
/ 26 октября 2012

Вы можете настроить метку и значение для каждого индекса 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.
    }

Надеюсь, это помогло!

0 голосов
/ 07 октября 2011

Я думаю, что проще всего было бы поместить элемент по умолчанию, как вы упомянули.Это может быть «Пожалуйста, выберите».

...