プロジェクト作成 コンパイラのバージョン設定( 一般 ) android-binding-v30-0.52.jar を参照 ( lib に保存して参照します ) Appication クラス作成 android-binding を初期化して使用可能にします。
package com.example.textbinding; import android.app.Application; import gueei.binding.Binder; public class BindTest extends Application { @Override public void onCreate() { super.onCreate(); Binder.init(this); // BinderV30.init(this); と書くのが最新のようです } }
AndroidManifest に Application を登録 画面定義 binding: で記述される部分がバインド用です。これを使用すると、イベント名を記述してその名前に対してイヘント処理を java 側で記述可能になります。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:binding="http://www.gueei.com/android-binding/" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:padding="@dimen/padding_medium" tools:context=".MainActivity" binding:text="hello" /> </RelativeLayout>
Activity と バインド用クラス
(MainActivity.java)
package com.example.textbinding; import gueei.binding.Binder; import gueei.binding.app.BindingActivity; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.support.v4.app.NavUtils; public class MainActivity extends BindingActivity { private TestViewModel viewModel = new TestViewModel(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); View view = Binder.bindView( this, Binder.inflateView( this, R.layout.activity_main, null, false ), viewModel ); setContentView( view ); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; } }
this.setAndBindRootView(R.layout.activity_main, viewModel); ( 20 〜 25 のかわりにこうするのが最新のようです ) ※ BindingActivity が重要 (TestViewModel.java)
package com.example.textbinding; import gueei.binding.observables.StringObservable; import gueei.binding.pojo.PojoViewModel; import gueei.binding.pojo.PojoViewModelHelper; public class TestViewModel implements PojoViewModel { private PojoViewModelHelper helper = new PojoViewModelHelper(); public final StringObservable hello = new StringObservable("こんにちは"); @Override public PojoViewModelHelper getHelper() { return helper; } @Override public void notifyPropertyChanged( String propertyName ) { helper.notifyPropertyChanged( propertyName ); } }
関連する記事 android-binding を使用した、固定値、イベント、オプションメニューの構築
|
【Androidの最新記事】
- Android Studio : LiveDoor のお天気情報をリストビューに表示する手順
- Android のメニュー項目を条件が満たされた時のみ利用可能にする / onPrepareOptionsMenu
- Android Studio : LiveDoor のお天気情報をリストビューに表示した後、第二画面で name を変更して第一画面で再表示する手順
- Android の教科書到着しました。
- Android Studio をちょっと古い PC で使うと エミュレータが実行されなかった。
- Android Studio で、Failed to find target with hash string というエラーが出たら、Module の build.gradle を変更します
- Android Studio で Fragment の tools:layout で画面を指定して MainActivity には処理を書かないアプリケーション
- Android の SeekBar を縦方向で使用する設定
- Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker ダイアログの扱い
- Android 5.1(API 22) と Android 4.4(API 19) でのそれぞれの DatePicker コントロールの扱い
- Android Studio でプロジェクトを読み込むと、Error : C:\Users\User\.gradle\caches... と表示されて gradle の処理が出来なくなる場合の対処
- Android Studio 1.4.1 : Android 純正 Data Binding テンプレート
- Android アプリ作成の基礎 : PDF で問題
- Android Chrome の 謎の(?) 241文字仕様 / 241文字以上のコンテンツは文字が大きく表示される
- Android Studio : 行の途中で改行した時のインデント数を 1 にする
- Android Studio : キャラクタセット
- Android Studio : 起動時にプロジェクトを読み込まない設定
- Android Studio の SDK ヘのパスの変更
- armeabi-v7a しか動かない、ちょっと古い PC で、どーしてもエミュレータが起動しなくてやった事( 動いた、万歳 )
- Android 5.1 + Pleiades( Luna ) + ADT Plugin