在执行单击时设置微调器值

时间:2017-02-27 04:46:03

标签: android android-spinner

我有旋转器,其值为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开始。然后,用户可以向上或向下滚动并更改值。

我搜索了很多但是,对此没有任何想法。

任何帮助都会非常感激。

2 个答案:

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

快乐编码:)

答案 1 :(得分: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作为默认选择。我们必须添加一些值   喜欢&#34;选择一个&#34;。