Пункты без текста в spinner

Заполняю spinner из адаптера sqlite

var adapter1 = SimpleCursorAdapter(context, R.layout.item, result, arrayOf("BRANCHES_NAME"), intArrayOf(R.id.text1),0)
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter1)

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

Xml layout item

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:textAlignment="inherit"/>

Адаптер стандартный, SimpleCursorAdapter, не менял

public SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from,
            int[] to, int flags) {
        super(context, layout, c, flags);
        mTo = to;
        mOriginalFrom = from;
        findColumns(c, from);
    }

Не совсем понимаю как работает адаптер. Что я делаю не так?


Ответы (1 шт):

Автор решения: Eugene Krivenja

Если вы используете вот это для выпадающего списка

android.R.layout.simple_spinner_dropdown_item

То вот это intArrayOf(R.id.text1) не является корректным идентификатором.

Как надо.
Используйте системный идентификатор везде, если используете системные ресурсы.

intArrayOf(android.R.id.text1) и android:id="@android:id/text1" в собственном xml.

→ Ссылка