我有旋转器,其值为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 :(得分: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;。