LoginSignup
8
7

More than 5 years have passed since last update.

DataBindingおさわりし始めたので自分用メモ

Posted at

DataBinding導入

公式によると"DataBindingはAndroidStudio ver.1.5.0-alpha1からダヨー"とあり、1.5.0かそれ以前によって変わってくる。

自分用のメモなので、それ以前の部分は省きます。

1.5.0以降であれば、app/build.gradleに以下のようにdataBindingについて記載する。

build.gradle
android {
    ...
    dataBinding {
        enabled = true
    }
}

これだけでDataBindingを使用できるようになる。

layoutのバインディング

findViewById()やそれを置き換えたButterKnifeによる実装をDataBindingによる実装に置き換えられる。

まず、レイアウト全体を`でくくる。

activity_main.xml
<layout
    ...>
    <android.support.design.widget.CoordinatorLayout
        ...>

    </android.support.design.widget.CoordinatorLayout>
</layout>

このlayoutタグの直下にdataタグを記載する。

activity_main.xml
<layout
    ...>
    <data>
        <variable name="main"  type="com.tacksman.BindingSample.MainActivity" />
    </data>
    <android.support.design.widget.CoordinatorLayout
        ...>

    </android.support.design.widget.CoordinatorLayout>
</layout>

ここまでの手順を行うと、variableで定義したmainより、パラメータやメソッドにアクセスできる。

activity_main.xml
<TextView android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:text="@{home.viewTitle}"/>

ちなみに、ここまでの手順を行っていると、レイアウトファイルのバインディングクラスが作成される。

例: activity_main.xml -> ActivityMainBinding

これを使って、レイアウトの中の要素にアクセスするといったこともできる。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7