yangchong211 / YCDialog

自定义弹窗,其中包括:自定义Toast;自定义dialog控件;自定义DialogFragment弹窗;自定义PopupWindow弹窗;还有自定义Snackbar等等;简单便用。目前已经用于多个正式项目中。
Apache License 2.0
358 stars 53 forks source link

DialogFragment使用中show()方法遇到的IllegalStateException #5

Closed yangchong211 closed 5 years ago

yangchong211 commented 5 years ago

已经解决

    public void show(FragmentManager fragmentManager) {
        if (fragmentManager != null) {
            //show(fragmentManager, getFragmentTag());

            //主要是为了解决Can not perform this action after onSaveInstanceState异常
            //发生场景:Activity即将被销毁,再给它添加Fragment就会出错。
            FragmentTransaction ft = fragmentManager.beginTransaction();
            ft.add(this, getFragmentTag());
            ft.commitAllowingStateLoss();
        } else {
            Log.e("show", "需要设置setFragmentManager");
            throw new NullPointerException("需要设置setFragmentManager");
        }
    }