コース: Androidアプリ開発基本講座:Kotlinでユーザーインターフェイスを構築する

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

findViewById()でビューへの参照を取得する

findViewById()でビューへの参照を取得する

シンセティックバインディング以前は、 findViewById で、 View への参照を取得する方法が 一般的でした。 findViewById 関数は 現在も利用できる安定的な方法です。 Android Studio のツールを使うと、 Kotlin プログラミングでは、 XML レイアウトファイルの ビューへの参照を、 自動的に取得することができます。 それはシンセティックバインディング という仕組みがあるからです。 Android Studio は、 時々あなたがコーディングしてる間に 自動的にインポート文を追加します。 このインポート文によって、 シンセティックバインディングが 有効になります。 XMLレイアウトファイルに ビューオブジェクトへの 参照を追加するたびに、 必要なインポート文が存在しない場合は、 Android Studio によって 追加されます。 しかし、この linearLayout、 変数のような変数は、 何かマジックのようですね。 この変数のクラスは どこにも宣言されていませんが、 Layout ファイルで宣言されている linearLayout コンポーネントを 正常に参照しています。 しかし、古い安定したアプローチに 戻りたい時もあります。 findViewById 関数で ビューへの参照を取得する方法です。 では Kotlin で実際 どのように記述するのかを説明します。 まず、View オブジェクトを クラスのメンバーとして追跡するために、 使用する変数を宣言します。 それは、private 変数として 宣言します。 また、Kotlin の lateinit キーワードを 使用して宣言します。 lateinit は、 var キーワードとともに 使用する必要があり、 あとで初期化される変数を 宣言することを意味します。 実際に宣言してみましょう。 private として宣言します。 lateinit var ですね。 container という名前にします。 型は LinearLayout です。 LinearLayout のインポート文が 自動的に作成されました。 ここで、onCreate メソッドに移動し、 変数を初期化します。 setContentView を呼び出して Layout ファイルを読み込んだ後で、…

目次