博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
findFragmentById返回为null的分析
阅读量:5765 次
发布时间:2019-06-18

本文共 674 字,大约阅读时间需要 2 分钟。

hot3.png

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;以后要小心点了

转载于:https://my.oschina.net/zchuanzhao/blog/915364

你可能感兴趣的文章
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>
Scenario 9-Shared Uplink Set with Active/Active uplink,802.3ad(LACP)-Flex-10
查看>>
UML类图中的六种关系
查看>>
探寻Interpolator源码,自定义插值器
查看>>
一致性哈希
查看>>
mysql(待整理)
查看>>
看雪论坛502,出现安全宝?
查看>>
使用PullToRefresh实现下拉刷新和上拉加载
查看>>
mysql
查看>>
2012年电信业八大发展趋势
查看>>
Web日志安全分析工具 v2.0发布
查看>>
JS重载
查看>>