Kotlin 合成プロパティが CustomViews で機能しないことに気付きました。意図したものかどうかはわかりません。生成された Java クラスを読み取ると、キャッシュが存在することがわかります。
private HashMap _$_findViewCache;
しかし、使用されることはありません。代わりに、ビューが必要なときはいつでもfindViewById
呼び出されます。これはデフォルトの動作ですか? 合成プロパティはアクティビティとフラグメントでのみ機能しますか?
Kotlin 合成プロパティが CustomViews で機能しないことに気付きました。意図したものかどうかはわかりません。生成された Java クラスを読み取ると、キャッシュが存在することがわかります。
private HashMap _$_findViewCache;
しかし、使用されることはありません。代わりに、ビューが必要なときはいつでもfindViewById
呼び出されます。これはデフォルトの動作ですか? 合成プロパティはアクティビティとフラグメントでのみ機能しますか?
これで動作します。kotlin-android-extensions に関するブログ投稿
カスタム クラスはキャッシュを生成し、それを使用します。
itemTitle.text = "Hello World!"
これは、カスタム ビュー クラスでは次のようになります。
((TextView)this._$_findCachedViewById(id.itemTitle)).setText((CharSequence)"Hello World!");
キャッシュを適切に利用する