1

如何在微调器中设置默认选项?

我用不同的查询填充了 3 个微调器,也许我只想使用 2 个微调器,而不是 3 个。所以始终是微调器中设置的值。我怎样才能避免价值?原因可能是如果填充数组,我可以在位置 0 设置默认选项,但我会用查询填充微调器。

我知道微调器是有值的,所以也许我可以把它们设置为默认值,这样在 onitemclicklistener 中我可以避免使用带有 if (valuespinnerselected = "Default" ) 的微调器不要对任何东西

4

2 回答 2

2

您可以为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;
    }

}

之后就可以拿到选中的item,看看他的值:

    SpinnerItem item = (SpinnerItem) spinner.getSelectedItem();
    if(item.getValue() == -1){
        //do Something.
    }

希望这有帮助!

于 2012-10-26T13:18:45.680 回答
0

我认为最简单的方法是像您提到的那样放置一个默认项目。可能是“请选择”。

于 2011-10-07T00:49:14.720 回答