android.R.layout.simple_spinner_dropdown_item与android.R.layout.simple_spinner_item的区别

时间:2012-05-26 08:54:53

标签: java android spinner android-arrayadapter

以下是在android中使用微调器的示例代码:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.gender_array, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

我已经明白我们需要为适配器中的数据行指定布局

但为什么再次使用setDropDownViewResource()方法。我的意思是这个函数做了什么,并告诉我它与ArrayAdapter的构造函数有什么不同。

我已经阅读了文档,但完全不了解。

3 个答案:

答案 0 :(得分:20)

这是区别 - 见下图

simple_spinner_item

Simple_Spinner

如果您在代码中直接使用带有spinner.setAdapter(adapter);的微调器,则您的微调器将如上图所示。

但是,如果您在代码中使用adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);,它会显示您的微调器,如下图所示,微调器项目将通过单选按钮显示。

simple_spinner_dropdown_item

enter image description here

答案 1 :(得分:7)

通常android.R.layout.simple_spinner_dropdown_item和android.R.layout.simple_spinner_item之间的区别是

简单的微调器下拉视图

Simple spinner dropdown view

简单的微调视图

simple spinner view

答案 2 :(得分:2)

区别如下:

  1. simple_spinner_item是微调器列表中每个下拉项的布局。
  2. 为了容纳这些x个下拉项目,所需的布局是 simple_spinner_dropdown_item