KotlinとJavaのクラス

MPAndroidChartというライブラリを使ってグラフを表示しようとしたときの躓いた点。

まずは、

moneyforward.com

を参考にグラフを作成。

今回、Kotlinで実装するので、まずは書いてあるメソッドをKotlinに置き換える所から始める。

で、最新バージョンと記事のバージョンが違っていて早速躓く。

setDescriptionというメソッドがない!!
正確にはあるかど、Stringじゃなくて
Descriptionクラスのインスタンスを渡す様になっていた。
で、
DescriptionクラスにsetTextがあったから、それに文字列を設定しようとするも。。。
あれ、setText呼べない??
Descriptionクラス見てみても確かに存在していて、修飾子もpublicになっているので、呼べるはずだが。。。
で、Kotlinの文法をもう一度見直すと、そういえばプロパティはsetter,getter含まれるんだったな。
なので、直接その変数に代入してみたら、ちゃんと代入できた。

うーむ、Kotlinで書くとライブラリ側がJavaで書かれていてもKotlinのルールが適用されるようだ。
奥が深い。