package com.camnter.newlife.ui.activity.agera; import android.annotation.SuppressLint; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; import butterknife.BindView; import butterknife.ButterKnife; import com.camnter.newlife.R; import com.camnter.newlife.core.activity.BaseAppCompatActivity; import com.google.android.agera.BaseObservable; import com.google.android.agera.Updatable; import java.util.UUID; /** * Description:AgeraClickActivity * Created by:CaMnter * Time:2016-05-31 16:49 */ public class AgeraClickActivity extends BaseAppCompatActivity { @BindView(R.id.agera_click_button) Button clickButton; @BindView(R.id.agera_click_text) TextView clickText; /** * Fill in layout id * * @return layout id */ @Override protected int getLayoutId() { return R.layout.activity_agera_click; } /** * Initialize the view in the layout * * @param savedInstanceState savedInstanceState */ @Override protected void initViews(Bundle savedInstanceState) { ButterKnife.bind(this); } /** * Initialize the View of the listener */ @Override protected void initListeners() { ClickAgeraObservable clickObservable = new ClickAgeraObservable(); clickObservable.addUpdatable(new ClickUpdate()); this.clickButton.setOnClickListener(clickObservable); } /** * Initialize the Activity data */ @Override protected void initData() { } private class ClickUpdate implements Updatable { /** * Called when an event has occurred. */ @SuppressLint("SetTextI18n") @Override public void update() { clickText.setText("ClickObservable: " + UUID.randomUUID().toString()); } } private class ClickAgeraObservable extends BaseObservable implements View.OnClickListener { /** * Called when a view has been clicked. * * @param v The view that was clicked. */ @Override public void onClick(View v) { dispatchUpdate(); } } }