android——fragment長時間home或者鎖屏java.lang.IllegalArgumentException:No view found for id for....


在項目中遇到了這個問題。頭痛了很久,總是無法重現,也不能很好的解決。總是在息屏后一段時間,就會報java.lang.IllegalArgumentException:No view found for id for....的問題,然后程序就崩潰了。相信很多朋友也有和我一樣遇到這個問題的。那么這個問題怎么去解決呢?

在仔細研究fragment的manager后,下面是我發現的東西

什么鬼?怎么會有兩個fragmentManager。這兩個東西有什么關系呢?

API上面說了一大堆,我這里簡單總結一下就是。

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM