@Override public void onSaveInstanceState(Bundle outState) { outState.putParcelable(STATE_CURRENT_VALUES, mCurrentValues); super.onSaveInstanceState(outState); }
@Override public void onActivityCreated(Bundle savedInstanceState) { View root = getView(); mContainer = root.findViewById(R.id.scheduler_container); mViewSwitcher = (ViewAnimator) root.findViewById(R.id.scheduler_switcher); mBtnOneShot = (Button) root.findViewById(R.id.btn_one_shot); mBtnOneShot.setOnClickListener(mBtnClickListener); mBtnRepeat = (Button) root.findViewById(R.id.btn_repeat); mBtnRepeat.setOnClickListener(mBtnClickListener); mBtnEvery = (Button) root.findViewById(R.id.btn_every); mBtnEvery.setOnClickListener(mBtnClickListener); mDatePicker = (ScrollDatePicker) root.findViewById(R.id.scheduler_date_picker); Calendar calendar = Calendar.getInstance(); mDatePicker.init( calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), this); mRepeatPicker = (RepeatPicker) root.findViewById(R.id.scheduler_repeat_picker); mRepeatPicker.setListener(this); mIntervalPicker = (IntervalPicker) root.findViewById(R.id.scheduler_every_picker); mIntervalPicker.setOnChangeListener(this); mOverlayView = root.findViewById(R.id.scheduler_overlay); mOverlayView.setOnClickListener(mOverlayClickListener); if (savedInstanceState != null) { mCurrentValues = savedInstanceState.getParcelable(STATE_CURRENT_VALUES); } else { mContainer.setAnimation(AnimationUtils.loadAnimation(getActivity(), R.anim.slide_in_bottom)); mOverlayView.animate().alpha(1.0f); mCurrentValues = getArguments().getParcelable(STATE_CURRENT_VALUES); } if (mCurrentValues == null) { mCurrentValues = new OneShotValues(Calendar.getInstance()); } // save(); this overwrites the loaded schedule ;( updateViews(); super.onActivityCreated(savedInstanceState); }
@Override public void onAttach(Activity activity) { super.onAttach(activity); if (getParentFragment() != null) { try { mListener = (ScheduleChangeListener) getParentFragment(); } catch (ClassCastException e) { throw new ClassCastException( getParentFragment().getClass().getSimpleName() + " must implement ScheduleChangeListener"); } } else { try { mListener = (ScheduleChangeListener) activity; } catch (ClassCastException e) { throw new ClassCastException( activity.toString() + " must implement ScheduleChangeListener"); } } }