zcz475421852 2018-05-03 07:38 采纳率: 25%
浏览 2857
已结题

Android Activity.recreate() 更改字体大小引起Fragment的混乱

有时候fragment会直接卡死不动 有时候会就只显示两个fragment...

  • 写回答

2条回答

  • bt侠 2018-05-03 08:21
    关注

    Acivity重新创建会触发activity的异常销毁,从而走activity的异常销毁的生命周期,即在destroy之前会调用onSaveInstanceState方法去保存视图数据,之后页面创建时会调用onRestoreInstanceState方法获取之前存储的数据并进行还原.楼主可以考虑将需要保存的数据通过此方法进行数据还原,和fragment的重新绑定.
    分析楼主的原因可能是,fragment内有依赖父activity的方法,而activity销毁重建的过程中会导致找不到父元素,而显示重复或数目错误可能是由于销毁过程的fragment解绑和重复添加,可以在绑定fragment的过程中添加tag进行识别,在activity重新创建的过程中去重新加载fragment,通过tag去判断fragment是否已经添加

    评论

报告相同问题?

悬赏问题

  • ¥15 关于#java#的问题,请各位专家解答!
  • ¥15 急matlab编程仿真二阶震荡系统
  • ¥20 TEC-9的数据通路实验
  • ¥15 ue5 .3之前好好的现在只要是激活关卡就会崩溃
  • ¥50 MATLAB实现圆柱体容器内球形颗粒堆积
  • ¥15 python如何将动态的多个子列表,拼接后进行集合的交集
  • ¥20 vitis-ai量化基于pytorch框架下的yolov5模型
  • ¥15 如何实现H5在QQ平台上的二次分享卡片效果?
  • ¥30 求解达问题(有红包)
  • ¥15 请解包一个pak文件