0

私はAndroidアプリに取り組んでいます。LinearLayout に 2 つのスピナーがあり、他のいくつかの EditText があります。上部のスピナーには、リスト内の各項目のラジオ ボタンが表示されます。2 番目のものはそうではなく、2 番目の 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 つのスピナーはほとんど同じですが、なぜ 2 つのスピナーに大きな違いがあるのか​​ わかりません。

4

1 に答える 1

3

ArrayAdapter新しい名前で新しいものを宣言していますがcAdapter、その1行下で、ドロップダウンビューリソースを前のアダプタに設定しています。

これを修正するには、次の行を変更します。

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 に答える