Android - 微调器中的默认选项

时间:2011-10-06 00:39:44

标签: android android-spinner

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

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

我知道微调器有一个值,所以也许我可以把它们设置为默认值,所以在onitemclicklistener中我可以避免使用带有if(valuespinnerselected =“Default”)的微调器而不用任何东西

2 个答案:

答案 0 :(得分: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;
    }

}

之后,您可以获取所选项目并查看其值:

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

希望这有帮助!

答案 1 :(得分:0)

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