package com.zhuinden.simplestackdemoexample.common; import android.annotation.TargetApi; import android.content.Context; import android.support.annotation.Nullable; import android.util.AttributeSet; import android.util.Log; import android.view.View; import android.widget.RelativeLayout; import com.zhuinden.simplestack.Backstack; import com.zhuinden.simplestack.Bundleable; import com.zhuinden.simplestackdemoexample.R; import com.zhuinden.statebundle.StateBundle; import butterknife.ButterKnife; import butterknife.OnClick; /** * Created by Owner on 2017. 01. 12.. */ public class FirstView extends RelativeLayout implements Bundleable { private static final String TAG = "FirstView"; public FirstView(Context context) { super(context); init(context); } public FirstView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public FirstView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); init(context); } @TargetApi(21) public FirstView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) { super(context, attrs, defStyleAttr, defStyleRes); init(context); } Backstack backstack; FirstKey firstKey; private void init(Context context) { if(!isInEditMode()) { backstack = BackstackService.get(context); firstKey = Backstack.getKey(context); } } @OnClick(R.id.first_button) public void clickButton(View view) { backstack.goTo(new SecondKey()); } @Override protected void onFinishInflate() { super.onFinishInflate(); ButterKnife.bind(this); } @Override public StateBundle toBundle() { StateBundle bundle = new StateBundle(); bundle.putString("HELLO", "WORLD"); return bundle; } @Override public void fromBundle(@Nullable StateBundle bundle) { if(bundle != null) { Log.i(TAG, bundle.getString("HELLO")); } } }