2015-10-15 82 views
0

我有兩個微調器,兩個都有兩個項目。當我改變我的選擇在微調,我想改變秒選擇默認。 我該如何實現這一目標? 這裏是我的代碼,我已經試過當選擇第一次更改時,第二個微調器的位置設置爲默認值

@Override 
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 
    x = s1.getSelectedItemPosition(); 
    y = s2.getSelectedItemPosition(); 
    switch (x){ 
     case(0): 
      y=0; 
      switch (y){ 
       case(0):b1.setVisibility(View.VISIBLE); 
        b2.setVisibility(View.INVISIBLE); 
        b3.setVisibility(View.INVISIBLE); 
        b4.setVisibility(View.INVISIBLE); 
        c1.setVisibility(View.INVISIBLE); 
        c2.setVisibility(View.INVISIBLE); 
        break; 
       case(1): 
        b1.setVisibility(View.INVISIBLE); 
        b2.setVisibility(View.INVISIBLE); 
        b3.setVisibility(View.INVISIBLE); 
        b4.setVisibility(View.INVISIBLE); 
        c1.setVisibility(View.VISIBLE); 
        c2.setVisibility(View.INVISIBLE); 
        break; 
      } 
      break; 
     case(1): 
      s2.setSelection(0); 
      switch (y){ 
       case(0):b2.setVisibility(View.VISIBLE); 
        b1.setVisibility(View.INVISIBLE); 
        b3.setVisibility(View.INVISIBLE); 
        b4.setVisibility(View.INVISIBLE); 
        c1.setVisibility(View.INVISIBLE); 
        c2.setVisibility(View.INVISIBLE); 
        break; 
       case(1): 
        b1.setVisibility(View.INVISIBLE); 
        b2.setVisibility(View.INVISIBLE); 
        b3.setVisibility(View.INVISIBLE); 
        b4.setVisibility(View.INVISIBLE); 
        c2.setVisibility(View.VISIBLE); 
        c1.setVisibility(View.INVISIBLE); 
        break; 
      } 
    } 
+0

第二個微調器的值取決於第一個微調器的選擇值? –

+0

是,如果微調器1的值改變微調器2應該設置爲默認值,即0 –

+0

檢查我的答案,當第一項選擇,然後設置第二微調器默認值使用此spinnerObject.setSelection(位置)//默認位置可以爲0. –

回答

0

您可以使用spinnerObject.setSelection(default_index的值,),並將第二微調當你想改回爲它的默認值。

spinnerObject.setSelection(0); 
+0

它是givinng無法解析符號DEFAULT_INDEX錯誤 –

+0

DEFAULT_INDEX是一個佔位符,您應該將默認索引放在那裏。 – vguzzi

+0

它可以是一個位置。可以是int數字。 –

0

我希望這段代碼可以幫助你。

ArrayAdapter<String> secondspinnerAdapter; 
ArrayAdapter<String> firstspinnerAdapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_spinner_item, firstspinnervalue); 

first_spinner.setAdapter(firstspinnerAdapter);  
firstspinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
firstspinner.setOnItemSelectedListener(new OnItemSelectedListener() { 
      @Override 
      public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {      
         // set data in arraylist. 
         secondspinnerAdapter = new ArrayAdapter<String>(mainActivity.this, android.R.layout.simple_spinner_item, arraylistvalue); 
         second_spinner.setAdapter(secondspinnerAdapter); 
         second_spinner.setSelection(arg2, false); 
         secondspinnerAdapter.setDropDownViewResource 
         (android.R.layout.simple_spinner_dropdown_item); 

      } 

      @Override 
      public void onNothingSelected(AdapterView<?> arg0) { 

      } 
     }); 

請參閱此鏈接:How to set selected item of Spinner by value, not by position?

相關問題