我正在做:
mySpinner.setSelection(myObj?.spinIdx)
with:
var spinIdx: Int = 0
并且编译器抱怨"以下任何一个函数都不能被调用"同 命题中的setSelection(Int)。为什么呢?
mySpinner.setSelection(myObj?.spinIdx as Int)
可以解决问题,但我不会在这里理解编译器。
答案 0 :(得分:5)
myObj?.spinIdx
为空时, null
会返回myObj
。阅读"安全通话" here。编译失败,因为setSelection
方法只接受Int
,而null
不能myObj
。
如何解决:
如果null
可以是if (myObj != null) {
mySpinner.setSelection(myObj.spinIdx)
}
:
myObj
如果null
无法mySpinner.setSelection(myObj.spinIdx)
:
{{1}}