android.os.Bundle#getBooleanArray ( )源码实例Demo

下面列出了android.os.Bundle#getBooleanArray ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

@Override
public void onRestoreInstanceState(Parcelable state) {
    if (state instanceof Bundle) {
        Bundle bundle = (Bundle) state;

        boolean formCompleted = bundle.getBoolean("formCompleted");
        String[] errorMessages = bundle.getStringArray("errorMessages");
        String[] buttonTexts = bundle.getStringArray("buttonTexts");
        String[] subtitles = bundle.getStringArray("subtitles");
        String[] titles = bundle.getStringArray("titles");
        boolean[] completedSteps = bundle.getBooleanArray("completedSteps");
        int positionToOpen = bundle.getInt("openStep");
        state = bundle.getParcelable("superState");

        restoreFromState(
                positionToOpen,
                completedSteps,
                titles,
                subtitles,
                buttonTexts,
                errorMessages,
                formCompleted);
    }
    super.onRestoreInstanceState(state);
}
 
源代码2 项目: Dashchan   文件: ForegroundManager.java
@Override
public void onActivityCreated(Bundle savedInstanceState) {
	super.onActivityCreated(savedInstanceState);
	PendingData pendingData = getPendingData(true);
	if (pendingData == null) {
		return;
	}
	ensureArrays();
	boolean[] selected = savedInstanceState != null ? savedInstanceState.getBooleanArray(EXTRA_SELECTED) : null;
	if (selected == null) {
		selected = getArguments().getBooleanArray(EXTRA_SELECTED);
	}
	if (selected != null && selected.length == this.selected.length) {
		System.arraycopy(selected, 0, this.selected, 0, selected.length);
	}
	for (int i = 0; i < this.selected.length; i++) {
		updateSelection(i);
	}
}
 
源代码3 项目: Dashchan   文件: AutohideFragment.java
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
	Collection<String> chanNames = ChanManager.getInstance().getAvailableChanNames();
	this.chanNames = new ArrayList<>(chanNames);
	String[] items = new String[this.chanNames.size()];
	for (int i = 0; i < this.chanNames.size(); i++) {
		items[i] = ChanConfiguration.get(this.chanNames.get(i)).getTitle();
	}
	boolean[] checkedItems = savedInstanceState != null ? savedInstanceState
			.getBooleanArray(EXTRA_CHECKED) : null;
	// size != length means some chans were added or deleted while configuration was changing (very rare case)
	if (checkedItems == null || this.chanNames.size() != checkedItems.length) {
		ArrayList<String> selected = getArguments().getStringArrayList(EXTRA_SELECTED);
		checkedItems = new boolean[items.length];
		for (int i = 0; i < this.chanNames.size(); i++) {
			checkedItems[i] = selected.contains(this.chanNames.get(i));
		}
	}
	this.checkedItems = checkedItems;
	return new AlertDialog.Builder(getActivity()).setMultiChoiceItems(items, checkedItems, this)
			.setNegativeButton(android.R.string.cancel, null)
			.setPositiveButton(android.R.string.ok, this).create();
}
 
源代码4 项目: Augendiagnose   文件: OverlayPinchImageView.java
@Override
protected final void onRestoreInstanceState(final Parcelable state) {
	Parcelable enhancedState = state;
	if (state instanceof Bundle) {
		Bundle bundle = (Bundle) state;
		this.mOverlayX = bundle.getFloat("mOverlayX");
		this.mOverlayY = bundle.getFloat("mOverlayY");
		this.mOverlayScaleFactor = bundle.getFloat("mOverlayScaleFactor");
		mLastOverlayScaleFactor = mOverlayScaleFactor;
		this.mPupilOverlayX = bundle.getFloat("mPupilOverlayX");
		this.mPupilOverlayY = bundle.getFloat("mPupilOverlayY");
		this.mPupilOverlayScaleFactor = bundle.getFloat("mPupilOverlayScaleFactor");
		mLastPupilOverlayScaleFactor = mPupilOverlayScaleFactor;
		this.mShowOverlay = bundle.getBooleanArray("mShowOverlay");
		this.mLocked = bundle.getBoolean("mLocked");
		this.mPinchMode = (PinchMode) bundle.getSerializable("mPinchMode");
		this.mBrightness = bundle.getFloat("mBrightness");
		this.mContrast = bundle.getFloat("mContrast");
		this.mSaturation = bundle.getFloat("mSaturation");
		this.mColorTemperature = bundle.getFloat("mColorTemperature");
		this.mOverlayColor = bundle.getInt("mOverlayColor");
		this.mMetadata = bundle.getParcelable("mMetadata");
		enhancedState = bundle.getParcelable("instanceState");
	}
	super.onRestoreInstanceState(enhancedState);
}
 
源代码5 项目: mOrgAnd   文件: OutlineListView.java
public void loadState(Bundle savedInstanceState) {
    long[] state = savedInstanceState.getLongArray(OUTLINE_NODES);
    ArrayList<Integer> levels = savedInstanceState.getIntegerArrayList(OUTLINE_LEVELS);
    boolean[] expanded = savedInstanceState.getBooleanArray(OUTLINE_EXPANDED);

    if(state != null) {
        try {
            this.adapter.setState(state, levels, expanded);
        } catch (IllegalStateException ex) {
            this.adapter.init();
        }
    }

    int checkedPos= savedInstanceState.getInt(OUTLINE_CHECKED_POS, 0);
    setItemChecked(checkedPos, true);

    int scrollPos = savedInstanceState.getInt(OUTLINE_SCROLL_POS, 0);
    setSelection(scrollPos);
}
 
源代码6 项目: RxPermission   文件: ShadowActivity.java
@Override protected void onCreate(final Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);

  if (savedInstanceState == null) {
    handleIntent(getIntent());
  } else {
    shouldShowRequestPermissionRationale = savedInstanceState.getBooleanArray(SAVE_RATIONALE);
  }
}
 
源代码7 项目: OmegaRecyclerView   文件: FlatGroupingList.java
public void onRestoreInstanceState(Bundle savedInstanceState) {
    if (savedInstanceState == null || !savedInstanceState.containsKey(KEY_STATES)) {
        return;
    }
    mExpandStates = savedInstanceState.getBooleanArray(KEY_STATES);
    updateIndexes();
}
 
源代码8 项目: android-topeka   文件: SelectItemQuizView.java
@Override
public void setUserInput(Bundle savedInput) {
    if (savedInput == null) {
        return;
    }
    mAnswers = savedInput.getBooleanArray(KEY_ANSWERS);
    if (mAnswers == null) {
        return;
    }
    final ListAdapter adapter = mListView.getAdapter();
    for (int i = 0; i < mAnswers.length; i++) {
        mListView.performItemClick(mListView.getChildAt(i), i, adapter.getItemId(i));
    }
}
 
源代码9 项目: android-topeka   文件: MultiSelectQuizView.java
@Override
public void setUserInput(Bundle savedInput) {
    if (savedInput == null) {
        return;
    }
    final boolean[] answers = savedInput.getBooleanArray(KEY_ANSWER);
    if (null == answers) {
        return;
    }
    for (int i = 0; i < answers.length; i++) {
        mListView.setItemChecked(i, answers[i]);
    }
}
 
源代码10 项目: android-topeka   文件: ToggleTranslateQuizView.java
@Override
public void setUserInput(Bundle savedInput) {
    if (savedInput == null) {
        return;
    }
    mAnswers = savedInput.getBooleanArray(KEY_ANSWERS);
    if (mAnswers == null) {
        initAnswerSpace();
        return;
    }
    ListAdapter adapter = mListView.getAdapter();
    for (int i = 0; i < mAnswers.length; i++) {
        mListView.performItemClick(mListView.getChildAt(i), i, adapter.getItemId(i));
    }
}
 
源代码11 项目: LovelyDialog   文件: LovelyChoiceDialog.java
@Override
void restoreState(Bundle savedState) {
    super.restoreState(savedState);
    if (isMultiChoiceList()) {
        boolean[] checkedStates = savedState.getBooleanArray(KEY_ITEM_CHECKED_STATES);
        if (checkedStates == null) {
            return;
        }
        for (int index = 0; index < checkedStates.length; index++) {
            choicesList.setItemChecked(index, checkedStates[index]);
        }
    }
}
 
源代码12 项目: VerticalStepperForm   文件: NewAlarmFormActivity.java
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {

    if(savedInstanceState.containsKey(STATE_TITLE)) {
        String title = savedInstanceState.getString(STATE_TITLE);
        nameStep.restoreStepData(title);
    }

    if(savedInstanceState.containsKey(STATE_DESCRIPTION)) {
        String description = savedInstanceState.getString(STATE_DESCRIPTION);
        descriptionStep.restoreStepData(description);
    }

    if(savedInstanceState.containsKey(STATE_TIME_HOUR)
            && savedInstanceState.containsKey(STATE_TIME_MINUTES)) {
        int hour = savedInstanceState.getInt(STATE_TIME_HOUR);
        int minutes = savedInstanceState.getInt(STATE_TIME_MINUTES);
        AlarmTimeStep.TimeHolder time = new AlarmTimeStep.TimeHolder(hour, minutes);
        timeStep.restoreStepData(time);
    }

    if(savedInstanceState.containsKey(STATE_WEEK_DAYS)) {
        boolean[] alarmDays = savedInstanceState.getBooleanArray(STATE_WEEK_DAYS);
        daysStep.restoreStepData(alarmDays);
    }

    // IMPORTANT: The call to super method must be here at the end
    super.onRestoreInstanceState(savedInstanceState);
}
 
源代码13 项目: CodePolitan   文件: RandomContentController.java
@Override
public void loadState(Bundle bundle)
{
    pageFlags = bundle.getBooleanArray("pageFlags");
    if (pageFlags == null)
    {
        pageFlags = new boolean[26];
    }

    count = bundle.getInt("count", 0);

    randomArticles = bundle.getParcelableArrayList("random_articles");
    if (randomArticles != null)
    {
        presenter.showRandomArticles(randomArticles);
    } else
    {
        presenter.showError(new Throwable(ErrorEvent.LOAD_STATE_RANDOM_ARTICLES));
    }

    category = bundle.getParcelable("random_category");
    if (category != null)
    {
        presenter.showRandomCategory(category);
    } else
    {
        presenter.showError(new Throwable(ErrorEvent.LOAD_STATE_RANDOM_CATEGORY));
    }

    tag = bundle.getParcelable("random_tag");
    if (tag != null)
    {
        presenter.showRandomTag(tag);
    } else
    {
        presenter.showError(new Throwable(ErrorEvent.LOAD_STATE_RANDOM_TAG));
    }
}
 
源代码14 项目: Dashchan   文件: ContentsFragment.java
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
	checkedItems = savedInstanceState != null ? savedInstanceState.getBooleanArray(EXTRA_CHECKED_ITEMS) : null;
	if (checkedItems == null) {
		checkedItems = new boolean[] {true, true, true, false};
	}
	String[] items = getResources().getStringArray(R.array.preference_clear_cache_choices);
	AlertDialog dialog = new AlertDialog.Builder(getActivity())
			.setTitle(getString(R.string.preference_clear_cache))
			.setMultiChoiceItems(items, checkedItems, this)
			.setNegativeButton(android.R.string.cancel, null).setPositiveButton(android.R.string.ok, this)
			.create();
	dialog.setOnShowListener(this);
	return dialog;
}
 
源代码15 项目: android-state   文件: InjectionHelper.java
public boolean[] getBooleanArray(Bundle state, String key) {
    return state.getBooleanArray(key + mBaseKey);
}
 
源代码16 项目: AndroidStudyDemo   文件: TransitionCompat.java
/**
 * @param activity
 * @param layoutResId
 * @param background
 */
public static void startTransition(final Activity activity, final int layoutResId) {
	if (isPlaying) {
		return;
	}
	Bundle bundle = activity.getIntent().getExtras();
	if (bundle == null) {
		Log.w(TAG, "ActivityOptions's Bundle is null");
		return;
	}
	isEnter = true;
	mListener = new TransitionCompat().new MyTransitionListener();
	mBundle = bundle;
	mAnimationType = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_TYPE, ActivityOptionsCompatICS.ANIM_NONE);
	mIsVerticalScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_VERTICAL_SCREEN);
	/**
	 * 根据type的不同开始执行不同的动画效果
	 */
	switch (mAnimationType) {
	
	case ActivityOptionsCompatICS.ANIM_SCALE_UP:
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		scaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_THUMBNAIL_SCALE_UP:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mThumbnail = (Bitmap) bundle.getParcelable(ActivityOptionsCompatICS.KEY_ANIM_THUMBNAIL);
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		thumbnailScaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_SCENE_TRANSITION:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mIsInTheScreenArr = bundle.getBooleanArray(ActivityOptionsCompatICS.kEY_IS_IN_THE_SCREEN_ARR);
		mSharedElementIds = bundle.getIntegerArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_ID_LIST);
		mSharedElementBounds = bundle.getParcelableArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_BOUNDS_LIST);
		mLayoutResId = layoutResId;
		//开始执行动画,这里的tue表示是开始状态
		sceneTransitionAnimation(activity, layoutResId, true);
		break;
	case ActivityOptionsCompatICS.ANIM_NONE:
		break;
	default:
		break;
	}
	//执行场景进入的动画
	if (mTransitionAnims != null) {
		mTransitionAnims.setAnimsInterpolator(mInterpolator);
		mTransitionAnims.setAnimsStartDelay(mStartDelay);
		mTransitionAnims.setAnimsDuration(mAnimTime);
		mTransitionAnims.addListener(mListener);
		mTransitionAnims.playScreenEnterAnims();
	}
	mTransitionAnims = null;
	//起始完成后就用不到bundle了,为了避免干扰,这里置空
	mBundle = null;
}
 
源代码17 项目: nono-android   文件: TransitionCompat.java
/**
 * @param activity
 * @param layoutResId
 * @param background
 */
public static void startTransition(final Activity activity, final int layoutResId) {
	if (isPlaying) {
		return;
	}
	Bundle bundle = activity.getIntent().getExtras();
	if (bundle == null) {
		Log.w(TAG, "ActivityOptions's Bundle is null");
		return;
	}
	isEnter = true;
	mListener = new TransitionCompat().new MyTransitionListener();
	mBundle = bundle;
	mAnimationType = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_TYPE, ActivityOptionsCompatICS.ANIM_NONE);
	mIsVerticalScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_VERTICAL_SCREEN);
	/**
	 * 根据type的不同开始执行不同的动画效果
	 */
	switch (mAnimationType) {
	
	case ActivityOptionsCompatICS.ANIM_SCALE_UP:
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		scaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_THUMBNAIL_SCALE_UP:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mThumbnail = (Bitmap) bundle.getParcelable(ActivityOptionsCompatICS.KEY_ANIM_THUMBNAIL);
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		thumbnailScaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_SCENE_TRANSITION:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mIsInTheScreenArr = bundle.getBooleanArray(ActivityOptionsCompatICS.kEY_IS_IN_THE_SCREEN_ARR);
		mSharedElementIds = bundle.getIntegerArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_ID_LIST);
		mSharedElementBounds = bundle.getParcelableArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_BOUNDS_LIST);
		mLayoutResId = layoutResId;
		//开始执行动画,这里的tue表示是开始状态
		sceneTransitionAnimation(activity, layoutResId, true);
		break;
	case ActivityOptionsCompatICS.ANIM_NONE:
		break;
	default:
		break;
	}
	//执行场景进入的动画
	if (mTransitionAnims != null) {
		mTransitionAnims.setAnimsInterpolator(mInterpolator);
		mTransitionAnims.setAnimsStartDelay(mStartDelay);
		mTransitionAnims.setAnimsDuration(mAnimTime);
		mTransitionAnims.addListener(mListener);
		mTransitionAnims.playScreenEnterAnims();
	}
	mTransitionAnims = null;
	//起始完成后就用不到bundle了,为了避免干扰,这里置空
	mBundle = null;
}
 
源代码18 项目: ActivityOptionsICS   文件: TransitionCompat.java
/**
 * @param activity
 * @param layoutResId
 * @param background
 */
public static void startTransition(final Activity activity, final int layoutResId) {
	if (isPlaying) {
		return;
	}
	Bundle bundle = activity.getIntent().getExtras();
	if (bundle == null) {
		Log.w(TAG, "ActivityOptions's Bundle is null");
		return;
	}
	isEnter = true;
	mListener = new TransitionCompat().new MyTransitionListener();
	mBundle = bundle;
	mAnimationType = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_TYPE, ActivityOptionsCompatICS.ANIM_NONE);
	mIsVerticalScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_VERTICAL_SCREEN);
	/**
	 * 根据type的不同开始执行不同的动画效果
	 */
	switch (mAnimationType) {
	
	case ActivityOptionsCompatICS.ANIM_SCALE_UP:
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		scaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_THUMBNAIL_SCALE_UP:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mThumbnail = (Bitmap) bundle.getParcelable(ActivityOptionsCompatICS.KEY_ANIM_THUMBNAIL);
		mIsInTheScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_IN_THE_SCREEN);
		mWidth = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_WIDTH);
		mHeight = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_HEIGHT);
		mStartX = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_X);
		mStartY = bundle.getInt(ActivityOptionsCompatICS.KEY_ANIM_START_Y);
		//开始执行动画,这里的tue表示是开始状态
		thumbnailScaleUpAnimation(activity, true);
		break;
		
	case ActivityOptionsCompatICS.ANIM_SCENE_TRANSITION:
		mIsStartFullScreen = bundle.getBoolean(ActivityOptionsCompatICS.KEY_IS_START_FULL_SCREEN);
		mIsInTheScreenArr = bundle.getBooleanArray(ActivityOptionsCompatICS.kEY_IS_IN_THE_SCREEN_ARR);
		mSharedElementIds = bundle.getIntegerArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_ID_LIST);
		mSharedElementBounds = bundle.getParcelableArrayList(ActivityOptionsCompatICS.kEY_SHARED_ELEMENT_BOUNDS_LIST);
		mLayoutResId = layoutResId;
		//开始执行动画,这里的tue表示是开始状态
		sceneTransitionAnimation(activity, layoutResId, true);
		break;
	case ActivityOptionsCompatICS.ANIM_NONE:
		break;
	default:
		break;
	}
	//执行场景进入的动画
	if (mTransitionAnims != null) {
		mTransitionAnims.setAnimsInterpolator(mInterpolator);
		mTransitionAnims.setAnimsStartDelay(mStartDelay);
		mTransitionAnims.setAnimsDuration(mAnimTime);
		mTransitionAnims.addListener(mListener);
		mTransitionAnims.playScreenEnterAnims();
	}
	mTransitionAnims = null;
	//起始完成后就用不到bundle了,为了避免干扰,这里置空
	mBundle = null;
}
 
/**
 * Fetches the expandable state map from the saved instance state {@link Bundle}
 * and restores the expanded states of all of the list items.
 * <p>
 * Should be called from {@link Activity#onRestoreInstanceState(Bundle)}  in
 * the {@link Activity} that hosts the RecyclerView that this
 * {@link ExpandableRecyclerViewAdapter} is attached to.
 * <p>
 *
 * @param savedInstanceState The {@code Bundle} from which the expanded
 * state map is loaded
 */
public void onRestoreInstanceState(Bundle savedInstanceState) {
  if (savedInstanceState == null || !savedInstanceState.containsKey(EXPAND_STATE_MAP)) {
    return;
  }
  expandableList.expandedGroupIndexes = savedInstanceState.getBooleanArray(EXPAND_STATE_MAP);
  notifyDataSetChanged();
}