После долгих исследований я нашел решение для того, что искал, и это хорошо для меня. Я использую SimpleCursorAdapter для счетчика и помещаю данные из базы данных в курсор. Пока у Курсора есть поле первичного ключа, помеченное как "_id", оно отлично работает.
Это все идет в файле активности:
var cCursor = db.readCategoryForSpinner()
val adapterCols = arrayOf("Name")
val adapterRowViews = intArrayOf(android.R.id.text1)
val cAdapter = SimpleCursorAdapter(context, android.R.layout.simple_spinner_item, cCursor, adapterCols, adapterRowViews, 0)
cAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
sp_CategorySpinner.adapter = cAdapter
Вот sql для заполнения курсора:
fun readCategoryForSpinner() : Cursor{
val db = this.readableDatabase
val sql = "select " + COL_PK_CATEGORY + " _id, " + COL_NAME + " from " + TBL_CATEGORY
val c = db.rawQuery(sql, null)
c.moveToFirst()
return c
}
Наконец, вот как я получаю значение, когда оно мне нужно, в моем случае это когда нажата кнопка:
var category = sp_CategorySpinner.selectedItemId.toInt()