package com.gueei.demos.markupDemo.viewModels; import gueei.binding.Command; import gueei.binding.collections.ArrayListObservable; import gueei.binding.collections.LazyLoadParent; import gueei.binding.observables.StringObservable; import android.content.Context; import android.view.View; public class MasterDetailListView { public final ArrayListObservable<MasterItem> MasterItems = new ArrayListObservable<MasterItem>(MasterItem.class); public MasterDetailListView(){ for (int i=0; i<100; i++){ MasterItems.add(new MasterItem("MasterItem: " + i)); } } public class MasterItem implements LazyLoadParent{ public MasterItem(String name){ Title.set(name); } private int clickCount = 0; public final Command ToastTitle = new Command(){ public void Invoke(View view, Object... args) { clickCount ++; Title.set("Master: " + clickCount); } }; public final StringObservable Title = new StringObservable("Master: "); public ArrayListObservable<String> DetailItems = new ArrayListObservable<String>(String.class); public void onLoadChildren(Context context) { String[] detail = new String[10]; for (int i=0; i<10; i++){ detail[i] = "Detail" + i + " of " + Title.get(); } DetailItems.setArray(detail); } @Override public String toString(){ return Title.get(); } } }