继承DialogFragment实现Dialog闪退异常:java.lang.IllegalStateException: Fragment already added: ToastDialog

当继承DialogFragment实现自定义样式的Dialog时,在快速弹框和消失的时候,就会出现闪退,报如下异常:
在这里插入图片描述
查看代码逻辑知道:为了不让每次使用都创建或销毁浪费资源,在创建的时候代码做的相应的判断,创建后这直接使用,才导致的问题
在这里插入图片描述
通过重写DialogFragment的show方法解决->

@Override
    public void show(FragmentManager manager, String tag) {
        try {
            //在每个add事务前增加一个remove事务,防止连续的add
            manager.beginTransaction().remove(this).commit();
            super.show(manager, tag);
        } catch (Exception e) {
            //同一实例使用不同的tag会异常,这里捕获一下
            e.printStackTrace();
        }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值