Android DialogFragment Can not perform this action after onSaveInstance 解决办法

在一些 低性能的手机上 应用登录成功后 跳出 升级提示框,我用dialogFragment 做的,这个时候如果瞬间切到其他页面,比如自己的手势密码或者 桌面,此时之前的主页面被系统回收了,那么就会报上面的错误,DialogFragment 展示 的时候源码如下:

 public void show(FragmentManager manager, String tag) {
        this.mDismissed = false;
        this.mShownByMe = true;
        FragmentTransaction ft = manager.beginTransaction();
        ft.add(this, tag);
        ft.commit();
    }

commit 提交 此时行不通,修改如下:

 final FragmentTransaction fragmentTransaction = fragmentActivity.getSupportFragmentManager().beginTransaction();
        fragmentTransaction.add(dialog, dialog.getClass().getCanonicalName());
        fragmentTransaction.commitAllowingStateLoss();

这个时候就不会再报上述错误了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值