2011-10-06 64 views
1

如何在微調控件中設置默認選項?Android - 微調控件中的默認選項

我用不同的querys填充3個spinners,也許我只想使用2個spinners,而不是3個。所以總是一個設置在spinner中的值。我如何避免價值?原因可能是如果填充數組我可以在位置0設置一個默認選項,但即時填充旋轉器查詢。

我知道紡紗製成具有價值,所以也許我可以把它們放在一個默認值,以便在onitemclicklistener我能避免使用微調用if(valuespinnerselected =「默認」)不以任何

回答

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. 
    } 

希望這有助於!