我的应用程序 Activity 图片
第一个微调器正在使用字符串数组资源。第二个来自 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();
最佳答案
区别在于使用方式。您将数据从字符串数组插入到第一个微调器 (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);
关于java - 两个旋转器在同一 Activity 中看起来不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21360823/