android——fragment长时间home或者锁屏java.lang.IllegalArgumentException:No view found for id for....

在项目中遇到了这个问题。头痛了很久,总是无法重现,也不能很好的解决。总是在息屏后一段时间,就会报java.lang.IllegalArgumentException:No view found for id for….的问题,然后程序就崩溃了。相信很多朋友也有和我一样遇到这个问题的。那么这个问题怎么去解决呢?

在仔细研究fragment的manager后,下面是我发现的东西

《android——fragment长时间home或者锁屏java.lang.IllegalArgumentException:No view found for id for....》

什么鬼?怎么会有两个fragmentManager。这两个东西有什么关系呢?

API上面说了一大堆,我这里简单总结一下就是。

如果fragment在replace新的fragment的时候,容器用的是Activity布局中某个部分或者整体作为容器,那么,就使用getFragmentManager();

即:getFragmentManager到的是activity对所包含fragment的Manager。

如果fragment在replace新的fragment的时候,容器用的是此fragment的布局文件中某个整体或者部分view作为容器,那么,就是用getChildFragmentManager();

即:fragment嵌套fragment,就需要利用getChildFragmentManager()

    原文作者:shoneworn
    原文地址: https://www.cnblogs.com/shoneworn/p/5076022.html
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞