package gueei.binding.demo.pagerplayground; import gueei.binding.Command; import gueei.binding.collections.ArrayListObservable; import gueei.binding.demo.pagerplayground.ViewModels.Page; import gueei.binding.observables.IntegerObservable; import gueei.binding.observables.ObjectObservable; import gueei.binding.v30.app.BindingActivityV30; import android.os.Bundle; import android.view.View; public class MainActivity extends BindingActivityV30 { public final ArrayListObservable<Page> Pages = new ArrayListObservable<Page>(Page.class); public final IntegerObservable CurrentItem = new IntegerObservable(0); public final Command Remove = new Command(){ @Override public void Invoke(View arg0, Object... arg1) { if (arg1[0]==null || !(arg1[0] instanceof Page)) return; Page p = (Page) arg1[0]; Pages.remove(p); } }; public final Command AddPage = new Command(){ @Override public void Invoke(View arg0, Object... arg1) { if (arg1[0] == null) return; String name = arg1[0].toString(); Page p = new Page(name, MainActivity.this); Pages.add(p); CurrentItem.set(Pages.size() - 1); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); for(int i=0; i<5; i++){ Page p = new Page("page: " + i, this); Pages.add(p); } this.inflateAndBind(R.xml.mainactivity_metadata, this); } }