let と as でスッキリ
Kotlin メモ。
as を使ったキャストはスマートなのだけど、変数を使わざるをえなくなる。
val view = view.findViewById(R.id.picker) as NumberPicker // as に続けて書けないよね? view.minValue = 0 view.maxValue = 100 view.setOnValueChangedListener { picker, oldVal, newVal -> Log.d(TAG, "$newVal is selected.") }
なんて思っていたのだけど、もっとスマート(?)な方法があった。
view.findViewById(R.id.picker).let { it as NumberPicker it.minValue = minValue it.maxValue = maxValue it.setOnValueChangedListener { picker, oldVal, newVal -> Log.d(TAG, "$newVal is selected.") } }