0

我正在开发一个 Android 应用程序。我在带有其他一些 EditText 的 LinearLayout 中有 2 个微调器。顶部的 Spinner 显示列表中每个项目的单选按钮。第二个没有,第二个 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 个 Spinners 之间有如此大的差异。非常感谢任何帮助,谢谢。

4

1 回答 1

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);

固定的 :)

于 2012-10-10T18:05:05.380 回答