счетчик не будет отображаться в программе Android?

#android #view #android-spinner

#Android #Вид #android-счетчик

Вопрос:

вот коды

 dChooser= (Spinner) findViewById(R.id.spinner1);
adapter = new ArrayAdapter<CharSequence>(this,R.array.d_choices);
dChooser.setAdapter(adapter);
  

и вот часть xml, я не понимаю, что я делаю не так

 <Spinner
        android:id="@ id/spinner1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@ id/time2"
        android:layout_marginTop="24dp"
        android:spinnerMode="dropdown"
        android:background="@android:color/darker_gray" />
  

Комментарии:

1. просто несколько советов: alignParentLeft бесполезен, если вы используете layout_width=»fill_parent». И вместо fill_parent вы должны использовать match_parent

2. хороший совет принят, спасибо 🙂

Ответ №1:

Ваш адаптер кажется неправильным, используйте что-то вроде этого

 dChooser= (Spinner) findViewById(R.id.spinner1);

ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.d_choices, android.R.layout.simple_spinner_item);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

dChooser.setAdapter(adapter);
  

Комментарии:

1. спасибо, это сработало, но adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); кажется ненужным

2. adapter.setDropDownViewResource() используется для настройки макета выпадающего списка. вы можете предоставить здесь пользовательские ресурсы, если хотите изменить цвет или выполнить другие настройки.