、このような変数での活動のビューへの参照を保存することになってAndroidの開発者:KotlinのAndroid拡張機能や変数
Button fooBtn = (Button) findViewById(R.id.btn_foo)
は、ボイラープレートコードの量とfindViewById
呼の数を減らすために。私たちは、単に使用して同じボタンを参照することができKotlin's Android Extensionsの導入により
:
btn_foo
質問:btn_foo
が保存されたボタンへの参照を
- を持っています毎回
findViewById
に電話しますか? - 開発者は、アプリケーションのパフォーマンスを向上させるために変数
btn_foo
を保存するか、コード内で直接使用するとしますか?
編集:拡張機能がどのように動作するかan explanationがある、しかし、それはまだ少し不明です。
なぜ、「Activities」と「Fragments」に限定されるのですか?それは彼らが 'Context'に簡単にアクセスできるからです。 – Tuby
@Tubyそれは 'Context'に関連し、Kotlinは拡張機能を作成します(https://kotlinlang.org/docs/tutorials/android-plugin.html#under-thehood)。この問題に対処し、 'ViewHolder'(https://github.com/Kotlin/KEEP/pull/33)のような要素にKAEを使用できるようにするGitHub PRがあります。しかし、今は1年間活動していません。 – Oleg
また、Google Data BindingライブラリとMVVMパターンを使用する適切な方法では、 'findViewById'の必要はありません。私は個人的にアーキテクチャコンポーネントが安定するのを待っているので、データバインディングを実装します。その後、プロジェクトを使用して移動する予定です。 – Oleg