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.
simple_spinner_item is the layout of each drop-down item on the spinner list. And inorder to house these x number of drop-down items, the layout required is simple_spinner_dropdown_item.
simple_list_item_1 , (a layout built into Android that provides standard appearance for text in a list), and an ArrayList called restaurants .
Here's is the difference - See below images

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.

Normally the difference between android.R.layout.simple_spinner_dropdown_item and android.R.layout.simple_spinner_item is
Simple spinner Dropdown view

Simple spinner view

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With