2021年8月11日水曜日

Ktolinで「Parameter 'xxx' is never used」というワーニングが出たときの対応

KtolinでAndroid開発をしているとき、 
ListViewなど押下イベント設定(setOnItemClickListener)をラムダで書くと以下のようになる。
// 押下したリストのアイテム情報をトースト表示する
listView.setOnItemClickListener { parent, view, position, id ->
    Toast.makeText(this, array[position], Toast.LENGTH_SHORT).show()
}
こうすると、
パラメータ4つあるけど positionしか使っておらず、残りの引数に波線が表示される。


ワーニングメッセージを見るとそれぞれ
Parameter 'parent' is never used, could be renamed to _
Parameter 'view' is never used, could be renamed to _
Parameter 'id' is never used, could be renamed to _

となっている。


対処方法

使わない引数名は「 _ 」にしましょう。

ワーニングメッセージを直訳するとわかるが
Parameter 'parent' is never used, could be renamed to _
⇒ 訳:引数parentが使ってないから、「 _ 」に名前変更しよう。

Ktolinの言語仕様を見ると1.1で追加されている
という機能ですね


結果、以下になる
// 押下したリストのアイテム情報をトースト表示する
listView.setOnItemClickListener { _, _, position, _ ->
    Toast.makeText(this, array[position], Toast.LENGTH_SHORT).show()
}
無事ワーニングを回避することができました。

0 件のコメント:

コメントを投稿