33

这是在 android 中使用 spinner 的示例代码:

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.

我已经阅读了文档,但没有完全理解。

4

3 回答 3

25

这就是区别 - 见下图

simple_spinner_item

Simple_Spinner

如果您spinner.setAdapter(adapter);直接在代码中使用微调器,则微调器将类似于上图。

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

simple_spinner_dropdown_item

在此处输入图像描述

于 2012-05-26T09:36:46.690 回答
7

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

简单的微调器下拉视图

简单的微调器下拉视图

简单的微调器视图

简单的微调视图

于 2012-05-26T09:37:54.643 回答
3

区别如下:

  1. simple_spinner_item 是微调器列表中每个下拉项的布局。
  2. 为了容纳这 x 个下拉项,所需的布局是 simple_spinner_dropdown_item
于 2013-04-06T14:19:57.043 回答