赤い枠の中が重要ですが、res の下に xml フォルダを作成して以下のように xml レイアウトファイルを作成した下さい
<?xml version="1.0" encoding="utf-8"?>
<activity xmlns:binding="http://www.gueei.com/android-binding/">
<rootView
binding:dataSource="RootViewViewModel"
binding:layoutId="@layout/activity_main"/>
<optionsMenu
binding:dataSource="OptionsMenuViewModel"
binding:menu="@menu/activity_main"/>
</activity>
後は、バインド用のクラスを3つ作ってそれぞれを順に作成してバインドさせます。
★ MainActivity.java
package com.example.allbind;
import gueei.binding.v30.app.BindingActivityV30;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
public class MainActivity extends BindingActivityV30 {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ViewModel vm = new ViewModel();
this.inflateAndBind(R.xml.bav30, vm);
}
}
★ ViewModel.java
package com.example.allbind;
import gueei.binding.observables.ObjectObservable;
import gueei.binding.pojo.PojoViewModel;
import gueei.binding.pojo.PojoViewModelHelper;
public class ViewModel implements PojoViewModel {
private PojoViewModelHelper helper = new PojoViewModelHelper();
public final ObjectObservable RootViewViewModel =
new ObjectObservable(new RootViewViewModel());
public final ObjectObservable OptionsMenuViewModel =
new ObjectObservable(new OptionsMenuViewModel());
@Override
public PojoViewModelHelper getHelper() {
return helper;
}
@Override
public void notifyPropertyChanged( String propertyName ) {
helper.notifyPropertyChanged( propertyName );
}
}
★ RootViewViewModel.java
package com.example.allbind;
import gueei.binding.observables.StringObservable;
import gueei.binding.pojo.PojoViewModel;
import gueei.binding.pojo.PojoViewModelHelper;
public class RootViewViewModel 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 );
}
}
★ OptionsMenuViewModel.java
package com.example.allbind;
import gueei.binding.observables.StringObservable;
import gueei.binding.pojo.PojoViewModel;
import gueei.binding.pojo.PojoViewModelHelper;
public class OptionsMenuViewModel implements PojoViewModel {
private PojoViewModelHelper helper = new PojoViewModelHelper();
public final StringObservable menu_settings = new StringObservable("設定");
@Override
public PojoViewModelHelper getHelper() {
return helper;
}
@Override
public void notifyPropertyChanged( String propertyName ) {
helper.notifyPropertyChanged( propertyName );
}
}
▼ プロジェクトの作成の基本は以下から参照して下さい android-binding を使って Windows C#(XAML) のようなバインド処理の実装
|
|
【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







赤い枠の中が重要ですが、res の下に xml フォルダを作成して以下のように xml レイアウトファイルを作成した下さい
▼ プロジェクトの作成の基本は以下から参照して下さい





















