Kotlin Android,Spinner setSelection没有解决

时间:2014-09-23 07:00:53

标签: kotlin

我正在做:

mySpinner.setSelection(myObj?.spinIdx)

with:

var spinIdx: Int = 0

并且编译器抱怨"以下任何一个函数都不能被调用"同 命题中的setSelection(Int)。为什么呢?

mySpinner.setSelection(myObj?.spinIdx as Int)

可以解决问题,但我不会在这里理解编译器。

1 个答案:

答案 0 :(得分:5)

myObj?.spinIdx为空时,

null会返回myObj。阅读"安全通话" here。编译失败,因为setSelection方法只接受Int,而null不能myObj

如何解决:

  1. 如果null可以是if (myObj != null) { mySpinner.setSelection(myObj.spinIdx) }

    myObj

  2. 如果null无法mySpinner.setSelection(myObj.spinIdx)

    {{1}}