<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="horizontal" >
<Spinner
android:id="@+id/DateOfBirthMM"
android:layout_width="90dp"
android:layout_height="60dp"
android:layout_marginRight="20dp"
android:layout_marginTop="-5dp"
android:background="@drawable/new_con_txt_back"
android:ems="25"
android:minWidth="90dp"
android:spinnerMode="dialog" />
</LinearLayout>
在String文件中
<string-array name="month_array">
<item>MMM</item>
<item>Jan</item>
<item>Feb</item>
<item>Mar</item>
<item>Apr</item>
<item>May</item>
<item>Jun</item>
<item>Jul</item>
<item>Aug</item>
<item>Sep</item>
<item>Oct</item>
<item>Nov</item>
<item>Dec</item>
</string-array>
和spinner_item.xml
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="15dp"
android:textColor="#000000"
android:textSize="20dp" />
并在活动文件中
DateOfBirthMM = (Spinner) findViewById(R.id.DateOfBirthMM);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(OtherNewActivity.this, R.array.month_array,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(R.layout.spinner_item);
DateOfBirthMM.setAdapter(adapter);
在编辑方法中我试图在微调器中预加载月份。
int spinnerPosition = adapter.getPosition(compareValue.trim());
DateOfBirthMM.setSelection(spinnerPosition);
adapter.setDropDownViewResource(R.layout.spinner_item);
当加载编辑活动时,我打开微调器对话框!就好像我已经完成了执行点击!!!该怎么办?
答案 0 :(得分:0)
设置选择方法存在问题。当您调用setSelection时,所有侦听器都会在您执行方法后调用。
你可以在这个问题中找到几个修复/方法来完成它
How to keep onItemSelected from firing off on a newly instantiated Spinner?
我希望这会对你有帮助!