4

Kotlin 合成プロパティが CustomViews で機能しないことに気付きました。意図したものかどうかはわかりません。生成された Java クラスを読み取ると、キャッシュが存在することがわかります。

private HashMap _$_findViewCache;

しかし、使用されることはありません。代わりに、ビューが必要なときはいつでもfindViewById呼び出されます。これはデフォルトの動作ですか? 合成プロパティはアクティビティとフラグメントでのみ機能しますか?

4

1 に答える 1

2

これで動作します。kotlin-android-extensions に関するブログ投稿

カスタム クラスはキャッシュを生成し、それを使用します。

itemTitle.text = "Hello World!"

これは、カスタム ビュー クラスでは次のようになります。

((TextView)this._$_findCachedViewById(id.itemTitle)).setText((CharSequence)"Hello World!");

キャッシュを適切に利用する

于 2017-11-24T08:59:55.403 に答える