Kotlin Android,Spinner setSelection未解决

我正在做 :

mySpinner.setSelection(myObj?.spinIdx) 

与:

 var spinIdx: Int = 0 

编译器抱怨在命题中使用setSelection(Int)“没有下面的函数可以被调用”。 为什么?

 mySpinner.setSelection(myObj?.spinIdx as Int) 

解决这个问题,但我不明白这里的编译器。

myObj为null时, myObj?.spinIdx返回null。 在这里阅读“安全呼叫”。 编译失败,因为setSelection方法只接受不能为null Int

怎么修:

  1. 如果myObj可以为null

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

  2. 如果myObj不能为null

    mySpinner.setSelection(myObj.spinIdx)