Функциональность Spinner не работает на Android 6.0.1

Я использую Spinner для отображения некоторых значений. И странная проблема в том, что

Выделение отображается правильно, но когда я выбираю любой элемент из раскрывающегося списка, в поле не отображается.

И странно, что эта функциональность работает на всех операционных системах Android before 6.0.1(i.e. 6.0.0 and previous). Я также пробовал AppCompatSpinner, и результат был таким же.

main.xml:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="0.3"
    android:entries="@array/values" />

Main.java:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setSelection(5); // Not displaying 5th item, Yes! there are more than 5 items.
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        spinner.setSelection(position);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        spinner.setSelection(5);
    }
});

Ответ 1

Странно, что я отвечаю на свой вопрос. Но после большого количества исследований, наконец, я нашел решение.

Решение:

В коде, который я ранее писал, нет ничего плохого. Это просто вопрос о внутреннем заполнении в Android OS 6.0.1

В выпуске Android OS 6.0.1 они внесли некоторые изменения во внутреннее дополнение Spinner.

После прочтения этого связанного вопроса на SO я скорректировал ширину Spinner и сделал ее видимой во всех версиях ОС Android.