【问题标题】:Kotlin Android, Spinner setSelection not resolvedKotlin Android,Spinner setSelection 未解决
【发布时间】:2014-11-17 06:59:28
【问题描述】:

我在做:

mySpinner.setSelection(myObj?.spinIdx)

与:

var spinIdx: Int = 0

编译器抱怨“以下函数都不能被调用” 命题中的 setSelection(Int)。为什么?

mySpinner.setSelection(myObj?.spinIdx as Int)

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

【问题讨论】:

    标签: kotlin


    【解决方案1】:

    myObj?.spinIdxmyObj 为空时返回null。阅读“安全通话”here。编译失败,因为 setSelection 方法只接受不能是 nullInt

    如何解决:

    1. 如果myObj可以是null

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

    2. 如果myObj不能是null

      mySpinner.setSelection(myObj.spinIdx)

    【讨论】:

    • 或者mySpinner.setSelection(myObj?.spinIdx ?: 0)mySpinner.setSelection(myObj!!.spinIdx) 如果可以接受抛出 NPE。 AFAIK 后者相当于as Int 的情况。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 1970-01-01
    • 2017-08-08
    • 2020-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多