2017-02-27 61 views
1

我的微調器的值爲1-50。在執行按鈕上設置微調器值位置

<Spinner 
    android:id="@+id/spinnerSel" 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    android:layout_alignParentRight="true" 
    android:layout_centerInParent="true" 
    android:layout_weight="0.4" 
    android:ellipsize="end" 
    android:gravity="right" 
    android:spinnerMode="dropdown" /> 

默認情況下沒有任何選定的值。所以,我已經把它的選擇0

spin.setSelection(0); 

現在,當用戶performClick然後微調公開選拔下拉,我希望它開始從20
意味着必須對點擊默認下拉位置開始從20。然後用戶可以滾動到上或下並更改值。

我搜索很多,但沒有得到任何關於這方面的想法。

任何幫助將不勝感激。

+0

嘗試setonclick監聽器並將'spin.setSelection(20);'放在裏面。 –

+0

setOnClick listner無法正常工作 –

回答

1

請嘗試下面的代碼!

spin.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if(event.getAction() == MotionEvent.ACTION_UP){ 
        spin.setSelection(20); 
       } 
       return false; 
      } 
     }); 

編碼快樂:)

+0

不錯的解決方案。但是,有一個問題。如果我不選擇任何值並關閉下拉菜單,則默認設置爲20. – ketan

0

這是很好用Shrenik Shah的答案。但對於默認項目使用這個。

spin.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { 
       @Override 
       public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { 

       } 

       @Override 
       public void onNothingSelected(AdapterView<?> parent) { 
         String myString = "Select one"; //the value you want the position for 

         ArrayAdapter myAdap = (ArrayAdapter) spin.getAdapter(); //cast to an ArrayAdapter 

         int spinnerPosition = myAdap.getPosition(myString); 

         //set the default according to value 
         spin.setSelection(spinnerPosition); 
       } 
      }); 

加上Shrenik Shah的回答。

spin.setOnTouchListener(new View.OnTouchListener() { 
      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if(event.getAction() == MotionEvent.ACTION_UP){ 
        spin.setSelection(20); 
       } 
       return false; 
      } 
     }); 

注:我們不能用null作爲默認選擇。我們必須爲「Select One」添加一些 的值。

+0

感謝CoDFather。但onNothingSelected並未呼叫。當我點擊邊微調。我沒有選擇任何東西。 '爲setSelection(0)' – ketan