【问题标题】:Two spinners look different in same activity两个微调器在同一活动中看起来不同
【发布时间】:2014-02-17 02:36:45
【问题描述】:

我的应用活动图片

第一个微调器正在使用字符串数组资源。第二个来自 XML 文件中的 arrayList

<Spinner
    android:id="@+id/spnExam"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:entries="@array/Exams" />

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

微调器二的代码

            List<String> list = new ArrayList<String>();
            c.moveToFirst();
            do 
            {
                list.add(c.getString(2));
            } while (c.moveToNext());
            c.close();
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_dropdown_item, list);
            adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
            spnPaper.setAdapter(adapter);
            db.close();

【问题讨论】:

  • 看看我的第二个答案...

标签: java android android-spinner


【解决方案1】:

区别在于使用风格。您将数据从字符串数组插入到您的第一个微调器(spnExam),该数组将指定出现选项列表时要使用的简单列表布局。

但是通过适配器获取数据的第二个旋转器指定在选项列表时使用的简单旋转器列表布局。

adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);

我认为,如果您想使两个微调器布局相同,则必须使用 android.R.layout.simple_spinner_dropdown_item 而不是 android.R.layout.simple_spinner_item 在您想显示您的列表之前,即在 setDropDownViewResource 方法上。

如果发生同样的问题,那么还要更改您的适配器:

ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_dropdown_item, list);

ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_item, list);

【讨论】:

    【解决方案2】:

    对两个微调器使用下面的代码

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_item, list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    

    【讨论】:

      【解决方案3】:

      为第二个微调器设置查看资源时出现问题。如果您需要与第一个微调器相同的微调器,则必须通过此更改

      ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_item, list);
      

      为您的 java 文件中的第二个微调器..

      谢谢!!

      【讨论】:

        【解决方案4】:

        问题在于您的微调器视图,因此将您的代码 android.R.layout.simple_spinner_dropdown_item 更改为 android.R.layout.simple_spinner_item。

        例如:

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_item, list);
        

        【讨论】:

          【解决方案5】:

          试试这个...

          ArrayAdapter<String> adapter = new ArrayAdapter<String>(ListSpinners.this, android.R.layout.simple_spinner_item, list);
          

          【讨论】:

            【解决方案6】:

            我的第一个答案描述了您的问题的差异。

            这些是您的解决方案:

            第一种解决方案:

                ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                        ListSpinners.this,
                        android.R.layout.simple_spinner_item, list);
                adapter.setDropDownViewResource(android.R.layout.simple_list_item_1);
                spnPaper.setAdapter(adapter);
            

            第二个解决方案和以前一样:

                    ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                        ListSpinners.this,
                        android.R.layout.simple_spinner_item, list);
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_item);
                    spnPaper.setAdapter(adapter);
            

            第三个和预期的解决方案:

                      ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                            ListSpinners.this,
                            android.R.layout.simple_spinner_item, list);
                    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
                    spnPaper.setAdapter(adapter);
            

            一切对你有用。

            谢谢

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2016-12-02
              • 2021-10-07
              • 1970-01-01
              • 1970-01-01
              • 2012-05-26
              • 1970-01-01
              • 2016-12-20
              • 1970-01-01
              相关资源
              最近更新 更多