2个旋转器一个列表中有单选按钮,一个没有

时间:2012-04-21 23:50:31

标签: android-spinner

我正在开发Android应用。我在LinearLayout中有2个微调器和一些其他EditText。顶部的微调器显示列表中每个项目的单选按钮。第二个没有,第二个Spinner中的每一行都比第一个Spinner要薄得多。这是我的xml代码。

<Spinner
    android:id="@+id/new_type"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/list_prompt"
android:textColorHint="@android:color/white" />
<Spinner
android:id="@+id/new_course"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/enter_course"
    android:textColorHint="@android:color/white" />

这是我的java代码。

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

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

2个Spinners几乎完全相同我无法弄清楚为什么2之间有这么大的差异。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您要声明名为ArrayAdapter的新cAdapter,但下面有一行 将下拉视图资源设置为上一个适配器。

要修复它,请更改此行:

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cSpinner.setAdapter(cAdapter);

cAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cSpinner.setAdapter(cAdapter);

修正:)