1

我正在做 :

mySpinner.setSelection(myObj?.spinIdx)

和 :

var spinIdx: Int = 0

并且编译器在命题中使用 setSelection(Int) 抱怨“无法调用以下函数”。为什么?

mySpinner.setSelection(myObj?.spinIdx as Int)

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

4

1 回答 1

5

myObj?.spinIdx为空null时返回。在此处myObj阅读“安全通话” 。编译失败,因为方法只接受不能是的。setSelectionIntnull

怎么修:

  1. 如果myObj可以null

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

  2. 如果myObj不能null

    mySpinner.setSelection(myObj.spinIdx)

于 2014-09-23T17:54:06.203 回答