我的微调器出了什么问题?

时间:2017-05-25 17:14:29

标签: android

我正在开发一个使用spinner的应用程序:

    s1=(Spinner)findViewById(R.id.sp1);
    s2=(Spinner)findViewById(R.id.sp2);
    s3=(Spinner)findViewById(R.id.sp3);


    List<Integer> list1 = new ArrayList<Integer>();
    List<Integer> list2 = new ArrayList<Integer>();
    List<Integer> list3 = new ArrayList<Integer>();



    for (int i=1;i<=31;i++)
   {
       list1.add(i);
   }

    for (int i=1;i<=12;i++)
    {
        list2.add(i);
    }
    for (int i=1917;i<=2017;i++)
    {
        list3.add(i);
    }

    ArrayAdapter<Integer> dataAdapter1 = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_spinner_item, list1);
    ArrayAdapter<Integer> dataAdapter2 = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_spinner_item, list2);
    ArrayAdapter<Integer> dataAdapter3 = new ArrayAdapter<Integer>(this,
            android.R.layout.simple_spinner_item, list3);
    dataAdapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    dataAdapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    dataAdapter3.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    s1.setAdapter(dataAdapter1);
    s2.setAdapter(dataAdapter2);
    s3.setAdapter(dataAdapter3);



    final int day = (Integer)s1.getSelectedItem();
    final int month =(Integer)s2.getSelectedItem() ;
    final int year = (Integer)s3.getSelectedItem();

xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">



 <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
    android:layout_width="193dp"
    android:layout_height="wrap_content"
    android:text="Identifiant"
    android:layout_weight="0.05" />

<EditText
    android:id="@+id/ed1"
    android:layout_width="193dp"
    android:layout_height="wrap_content" />
 </LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
<TextView
    android:layout_width="193dp"
    android:layout_height="wrap_content"
    android:text="Mot de passe"

    android:layout_weight="0.06" />
    <EditText
        android:id="@+id/ed2"
        android:layout_width="193dp"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        />

   </LinearLayout>

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
<TextView
    android:layout_width="192dp"
    android:layout_height="wrap_content"
    android:text="Confirmer mot de passe"

    android:layout_weight="0.06" />


    <EditText
        android:id="@+id/ed3"
        android:layout_width="193dp"
        android:layout_height="wrap_content"
        android:inputType="textPassword"
        />
 </LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    >

    <TextView
        android:layout_width="192dp"
        android:layout_height="wrap_content"
        android:text="Date de naissance"
        android:layout_weight="0.06" />

    <Spinner
        android:id="@+id/sp1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    </Spinner>

    <Spinner
        android:id="@+id/sp2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    </Spinner>
    <Spinner
        android:id="@+id/sp3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

    </Spinner>

</LinearLayout>



<Button
    android:id="@+id/button2"
    android:layout_width="259dp"
    android:layout_height="wrap_content"
    android:layout_marginLeft="50dp"
    android:layout_marginRight="50dp"
    android:layout_marginTop="70dp"
    android:text="Valider" />
   </LinearLayout>

但是当我打印年份时,它不打印我实际选择的项目(打印2017年)。我该怎么办?我用旋转器方法做错了吗?提前致谢

4 个答案:

答案 0 :(得分:0)

猜测,这是:

final int day = (Integer)s1.getSelectedItem();
final int month =(Integer)s1.getSelectedItem() ;
final int year = (Integer)s1.getSelectedItem();

应该是:

final int day = (Integer)s1.getSelectedItem();
final int month =(Integer)s2.getSelectedItem() ;
final int year = (Integer)s3.getSelectedItem();

答案 1 :(得分:0)

final int day = (Integer) s1.getSelectedItem();
final int month =(Integer) s2.getSelectedItem() ;
final int year = (Integer) s3.getSelectedItem();

答案 2 :(得分:0)

s1,s2和s3是三种不同的微调器。但是你试图使用s1本身来获取他们选择的值。所以,为了获得一年,你应该使用s3。

答案 3 :(得分:0)

避免复制粘贴。 它应该是:

final int day =(整数) s1 .getSelectedItem();

final int month =(整数) s2 .getSelectedItem();

final int year =(整数) s3 .getSelectedItem();