Difference between android.R.layout.simple_spinner_dropdown_item and android.R.layout.simple_spinner_item

Surya KLSV picture Surya KLSV · May 26, 2012 · Viewed 31.7k times · Source

Here's a sample code of using spinner in android :

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

I have understood that we need to specify a layout for the datarows in the adapter

But why again using setDropDownViewResource() method. I mean what does this function do and also tell me how it is different from the constructor of the ArrayAdapter.

I have gone through the documentation, but didn't understand completely.

Answer

Praveenkumar picture Praveenkumar · May 26, 2012

Here's is the difference - See below images

simple_spinner_item

Simple_Spinner

If you're using your spinner with spinner.setAdapter(adapter); directly in your code, your spinner will looks like above image.

But, if you're using adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); in your code, it'll show your spinner like below image where the spinner items will shown with radio buttons.

simple_spinner_dropdown_item

enter image description here