findFragmentById返回为null的分析
今天遇到一个问题,在原本可以运行的项目中加入了.support.design包后项目中的findFragmentByid返回值为null,原本可以运行的项目,导入design支持包后竟然运行报错。
……原因是什么呢?
很遗憾还没有找到,希望有人知道的可以告知一下,下面是对于这个问题的解决办法,无意中发现。由于在我是在fragment中调用了findFragmentByid(),且布局文件中直接使用
于是我觉得这是因为fragment嵌套fragment导致的用findfragmentbyid()返回为空,于是我获得子fragmentmanager后再获取fragment,居然成功了!!!!! 要说具体的原理为什么导入design包会为空,至今不得而知。。。不过已经找到解决办法了,就贴出来吧。 解决办法 在fragment中调用getChildFragmentManager().findFragmentById(fragmentId);就可以获得布局中的fragment了2:今天遇到一种情况有必要记录以下,就是为了做水波纹效果,所以在drawable-v21里添加了seletor文件可是,导致了5.0以下的手机运行时 会报layout inflat error 然后导致使用findviewbyid返回的值是空的,
进而导致了NullPointException;以后要小心点了