私はkotlinでAndroidで開発を始めています。ラムダに問題があります。 I私の見解では、リスナーを設定する機能を持っている、これは次のようになります。問題は、ラムダとして渡されたコードはsetListener機能で実行されないことであるkotlinの変数にラムダを保存
fun setListener(listener:() -> Unit) {
}
、それは別の部分で実行されます私のコード(特にスピナーの項目が選択されている場合)は、このラムダを変数/プロパティに "保存"または "保存"して、必要なときに実行できるようにしなければなりません。どのようにそれを行うかについての任意のアイデア?
編集:私はやってそれを達成した:
private var listener: (() -> Unit)? = null
fun setListener(listener:() -> Unit) {
this.listener = listener
}
それを行うには良い方法はありますか?おかげ
"Getterの可視性はプロパティの可視性と同じでなければなりません"(つまり、 'private get'で' public set'を使うことはできません)。私は 'var listener:() - > Unit = {}'を提案します。 – mfulton26