Base de datos de android de Kotlin: no se puede convertir java.lang.String en android.database.Cursor

Estoy desarrollando una aplicación de notas simples en Kotlin para Android que utiliza una database sqlite simple. Ya lo escribí en Java, pero ahora tengo algunos problemas en Kotlin, en particular con una sola línea de código.

Este es el código Java en el que tomo la identificación de la nota cuando hago clic en ella en la vista de list.

itemCursor = (Cursor) activity.listView.getItemAtPosition(position); noteID = itemCursor.getInt(itemCursor.getColumnIndex(DBHelper.NOTES_COLUMN_ID)); itemCursor = helper.getNote(noteID); 

Entonces este debería ser el código de Kotlin:

 var itemCursor: Cursor = activity.listView.getItemAtPosition(position) as Cursor **(error here on this line, look below for it)** var noteID: Int = itemCursor.getInt(itemCursor.getColumnIndex(COLUMN_ID)) itemCursor = helper.getNote(noteID) 

java.lang.ClassCastException: java.lang.String no se puede convertir a android.database.Cursor

Adaptador ListView:

 list_titles = helper.getAllTitles() lv_adapter = ArrayAdapter(activity, android.R.layout.simple_list_item_1, list_titles) v.listview.adapter = lv_adapter 

Diversión de getAllTitles:

 fun getAllTitles(): ArrayList<String> { val db = this.readableDatabase var titles = ArrayList<String>() db.select(TABLE_NAME).parseList(object : MapRowParser<List<String>> { override fun parseRow(columns: Map<String, Any?>): ArrayList<String> { val obj = columns.getValue(COLUMN_OBJ).toString() titles.add(obj) return titles } }) return titles } 

No entiendo por qué en Kotlin me da este error de ClassCastException ya que en Java todo es sencillo.