Android デベロッパーの Data Binding Guide に書かれていますが、bind:user="@{user}" のように variable で指定した変数を引き継ぐだけです。 この記述は、引き継がれた( include された) 画面にも記述して、さらに第三画面を include できます。 注意 : デザイン画面でエラーのようなものが出る場合は、( とりあえず Clean Project を実行して ) 左上の x をクリックして閉じて下さい。( カスタム要素のせいです ) 画面全体のソースコード 引き継がれた( include された) 画面
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:bind="http://schemas.android.com/apk/res-auto" tools:context=".MainActivity"> <data> <variable name="user" type="sample.lightbox.androidbind1017.Syain"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{user.syozoku}" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/textView3" android:layout_margin="4dp"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{user.sname}" android:textAppearance="?android:attr/textAppearanceLarge" android:id="@+id/textView4" android:layout_margin="4dp"/> <NumberPicker android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/numberPicker"/> <Spinner android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/spinner" android:spinnerMode="dropdown"/> <DatePicker android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/datePicker" android:datePickerMode="spinner"/> <include layout="@layout/ex_contents2" android:id="@+id/ex2" bind:user="@{user}"/> </LinearLayout> </layout>
第三画面
<?xml version="1.0" encoding="utf-8"?> <layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:bind="http://schemas.android.com/apk/res-auto" tools:context=".MainActivity"> <data> <variable name="user" type="sample.lightbox.androidbind1017.Syain"/> </data> <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@{user.kj}" android:id="@+id/editText2" android:background="@drawable/border" android:padding="5dp"/> <Button android:layout_width="match_parent" android:layout_height="wrap_content" android:text="TOP" android:id="@+id/button4"/> </LinearLayout> </layout>
Data Binding 画面の注意事項
画面定義内は常に英数字・記号を使用する必要があります
現時点では、画面内の文字列に日本語を使用できません。実際使う場合は、初期値を直接書き込む場合とバインド用の変数に使う場合ですが、前者はリソースとして定義して日本語を使わずに参照擦れば動作します。しかし、後者では使え無い場合があります(使える場合もある)。
|
【Android Studio 2の最新記事】
- Android : WebView 経由のデータベースアプリケーション
- Android で WebView を使ってWEBにあるデータベースのデータを取得する為のクラス
- WebView で JavaScript にデータを渡したい時に注意する事
- シンプル Android Data Binding : Android Studio 2.2 / 古い定義との違いと、以前のプロジェクトでエラーが出る場合の対処
- Android Studio で、ListView アプリケーションを作成するテンプレート
- Android : Data Binding で ListView へのデータ表示を凄く簡単にする
- Android Studio で理解不能なエラーが出た時の対処方法 : Invalidate Caches / Restart
- Android : TabHost のタブに下から上へのアニメーションを設定して、include で同一画面を使用するので 回転しないように AndroidMainfest で設定する
- Android : TabHost 内の各 TabSpec 内にある TextView の 端末回転時における保存と復帰
- Android の 端末回転時の EditText と TextView の違い
- ViewPager 内のイベントで設定した TextView の値を保持する Fragment 処理
- ExpandableListView を使用して、タップした時に明細データ表示する
- カスタム・リストビュー・ダイアログ : DialogFragment 内の ListView を ArrayAdapter でカスタムする
- カスタム・リストビュー・ダイアログ : ダイアログ内の ListView を ArrayAdapter でカスタムする
- AlertDialog.Builder の setItems(int itemsId, DialogInterface .OnClickListener listener) を使用した、ListVie..
- AsyncTask<Params, Progress, Result> の Progress を無しにして、onPostExecute 内の処理を interface を使って MainA..
- javamail-android + AsyncTask でメール送信を行う為のテンプレート
- tools.jar の callHttpGet のテストと include による画面再利用と HttpPost クラスで掲示板書き込み / Android Studio
- Android の Spinner に関するいろいろな実装と知識 / Android Studio
- AsyncTask を継承して、Drawable を取得する専用クラスを作成する : Android Studio