Kousik
Kousik

Reputation: 22425

Android Spinner improper rendering if generated programmatically in android 2.0

This code is written in layout/xml file for spinner:

<Spinner
  android:id="@+id/planets_spinner"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:entries="@array/planets_array" />

Java code inside onCreate(Bundle savedInstanceState){} in MainActivity.java:

ArrayList<String> spinnerArray = new ArrayList<String>();
    spinnerArray.add("one");
    spinnerArray.add("Jupiter");
    spinnerArray.add("Mercury");
    spinnerArray.add("Venus");
    spinnerArray.add("Earth");

Spinner spinner = new Spinner(this);
ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, spinnerArray);

spinner.setAdapter(spinnerArrayAdapter);

enter image description here What could be going wrong?

Upvotes: 4

Views: 287

Answers (1)

prom85
prom85

Reputation: 17848

You are using the wrong resource... the checkable style you use is meant for the dropdown resource only...

following should work (note simple_spinner_dropdown_item != simple_spinner_item):

ArrayAdapter<String> spinnerArrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, spinnerArray);
spinnerArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Upvotes: 3

Related Questions