Kotlin Android, Spinner setSelection не разрешен

Я делаю :

mySpinner.setSelection(myObj?.spinIdx) 

с :

 var spinIdx: Int = 0 

И компилятор жалуется, что «ни одна из следующих функций не может быть вызвана» с помощью setSelection (Int) в предложениях. Зачем?

 mySpinner.setSelection(myObj?.spinIdx as Int) 

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

myObj?.spinIdx возвращает null когда myObj равно null. Читайте о «Безопасных звонках» здесь . setSelection компиляции из-за setSelection метод setSelection принимает только Int который не может быть null .

Как исправить:

  1. Если myObj может быть null :

    if (myObj != null) { mySpinner.setSelection(myObj.spinIdx) }

  2. Если myObj не может быть null :

    mySpinner.setSelection(myObj.spinIdx)