当试图在android中选择一个项目时,Spinner被打开

时间:2015-12-20 11:53:22

标签: android android-spinner

<?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);

当加载编辑活动时,我打开微调器对话框!就好像我已经完成了执行点击!!!该怎么办?

1 个答案:

答案 0 :(得分:0)

设置选择方法存在问题。当您调用setSelection时,所有侦听器都会在您执行方法后调用。

你可以在这个问题中找到几个修复/方法来完成它

How to keep onItemSelected from firing off on a newly instantiated Spinner?

我希望这会对你有帮助!