1

私がやっている :

mySpinner.setSelection(myObj?.spinIdx)

と :

var spinIdx: Int = 0

そして、コンパイラは、命題に setSelection(Int) を使用して「次の関数を呼び出すことはできません」と不平を言います。なんで?

mySpinner.setSelection(myObj?.spinIdx as Int)

問題を回避しますが、ここのコンパイラがわかりません。

4

1 に答える 1

5

myObj?.spinIdxが null のnull場合に返します。myObj「セーフ コール」については、こちらをご覧ください。メソッドが ではないものsetSelectionのみを受け入れるため、コンパイルは失敗します。Intnull

直し方:

  1. myObjできる場合null

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

  2. myObjできない場合null

    mySpinner.setSelection(myObj.spinIdx)

于 2014-09-23T17:54:06.203 に答える