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.")
}
}