您当前的位置: 首页 >  android

命运之手

暂无认证

  • 5浏览

    0关注

    747博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Android】【异常处理】解决FragmentTransaction Can not perform this action after onSaveInstanceState问题

命运之手 发布时间:2019-10-21 21:28:55 ,浏览量:5

? 出现原因 一般是由于离开Activity进入其他界面,这时Activity被回收 再回到Activity时,Activity会重启恢复之前的状态 在Activity尚未完全恢复时,过早地执行了Fragment的commit方法,就会引发这个问题

? 原理 Activity在销毁前,会执行onSaveInstanceState保存自身状态 Activity在恢复时,会调用onRestoreInstanceState方法恢复之前保存的状态 在onSaveInstanceState-onRestoreInstanceState之间的时间段内,是不允许FragmentTransaction进行commit操作的

? 解决方案有两种

通过handler延时1秒执行FragmentTransaction.commit()操作

FragmentTransaction.commit()改成FragmentTransaction.commitAllowingStateLoss()

关注
打赏
1654938663
查看更多评论
立即登录/注册

微信扫码登录

0.1581s