android - 如何根据其他微调器获得微调器值

标签 android android-spinner

我有两个微调项。一个是我的 Day 微调器,另一个是我的 Month Spinner。 如果我从月份微调器中选择月份二月,如果我选择日期作为 30,则不应完成。

又如:April 月有 30 天,所以如果有人选择 Month 为 April 和 day 为 31st,则不正确。请告诉我如何让一个微调器的值对应于另一个微调器的值。

这是我的代码,其中有两个微调器:

 @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 /*************day spinner**********/

        Spinner day  = (Spinner) findViewById(R.id.spinner2);
        ArrayAdapter<CharSequence> dayadapter = ArrayAdapter.createFromResource(
                this, R.array.item_day, android.R.layout.simple_spinner_item);
        dayadapter.setDropDownViewResource(R.layout.spinner_layout);
        day.setAdapter(dayadapter);

        /*****************month spinner**********************/


        Spinner month  = (Spinner) findViewById(R.id.spinner3);
        ArrayAdapter<CharSequence> monthadapter = ArrayAdapter.createFromResource(
                this, R.array.item_month, android.R.layout.simple_spinner_item);
        monthadapter.setDropDownViewResource(R.layout.spinner_layout);
        month.setAdapter(monthadapter);


}}

我的 Xml,其中定义了微调器:

    <Spinner
            android:id="@+id/spinner2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@+id/spinner3"
            android:layout_alignTop="@+id/textView4"
            android:layout_toLeftOf="@+id/textView3" />
   <Spinner
            android:id="@+id/spinner3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/spinner2"
            android:layout_toLeftOf="@+id/textView3"
            android:layout_toRightOf="@+id/textView5" />

我的 spinner_layout:

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/spinnerTarget"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          android:textColor="#000000"
          android:textSize="12pt"
/>

我的一天数组

<string name="day_picker">Select an iten</string>
<string-array name="item_day">
    <item>1</item>
    <item>2</item>
    <item>3</item>
    <item>4</item>
    <item>5</item>
    <item>6</item>
     <item>7</item>
    <item>8</item>
    <item>9</item>
    <item>10</item>
    <item>11</item>
    <item>12</item>
     <item>13</item>
    <item>14</item>
    <item>15</item>
    <item>16</item>
    <item>17</item>
    <item>18</item>
     <item>19</item>
    <item>20</item>
    <item>21</item>
    <item>22</item>
    <item>23</item>
    <item>24</item>
     <item>25</item>
    <item>26</item>
    <item>27</item>
    <item>28</item>
    <item>29</item>
    <item>30</item>
    <item>31</item>

</string-array>

我的月份数组

<resources>
    <string name="month_picker">Select an item</string>
    <string-array name="item_month">
        <item>January</item>
        <item>February</item>
        <item>March</item>
        <item>April</item>
        <item>May</item>
        <item>June</item>
         <item>July</item>
        <item>August</item>
        <item>September</item>
        <item>October</item>
        <item>November</item>
        <item>December</item>
         </string-array>
</resources>

如果我选择任何月份,我想得到相应的编号。 day-spinner 中自动计算的天数 注意:我不希望在单击按钮后出现任何错误消息。提前致谢。

最佳答案

其实很简单。将 OnItemSelectedListener() 放在月微调器上,添加您自己的监听器,用正确的值初始化日微调器

关于android - 如何根据其他微调器获得微调器值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411543/

相关文章:

Android Studio中的Java URLConnection.setRequestProperty似乎没有做任何事情

android - 如何通过单击更改整个应用程序的语言?

java - Android最大线程数

java - 支持应用程序 - 从浏览器(桌面和移动)访问系统信息

android - 简单的发布请求在 android 9 中不起作用

java - 如何根据微调器选项创建 EditText 字段?

android - 它如何使用微调器过滤掉我的 sqlite 数据?

java - 在微调器中选择项目后,它没有反射(reflect)给我(肉眼不可见)

android - 如果使用微调器,如何 checkin listView。安卓

android - 如何在 Android 中正确使用外键,使用 SQLite 和 OrmLite