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

android, android-arrayadapter, java, spinner

Solution

Here's is the difference - See below images

simple_spinner_item

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

Problem

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.

Original source