前言:有时候fragment
需要获取activity
的权柄context
才可以执行一些东西,然而偶尔会出现
on a null object reference
的错误,原因是没有初始化,其实就是context
没有初始化,我们一般习惯fragment
提取成基类的baseFragment
里面一般有
initData()
:用于初始化一些数据或函数
initListener()
用监听
问题在于如果在上述两者获取context
就会出现上面所述的问题没有初始化,原因是fragment的生命周期:参考
Android Fragment 生命周期以及基本用法(一)
onActivityCreated
:在Activity
的OnCreate()
结束后,会调用此方法。所以到这里的时候,Activity已经创建完成!在这个函数中才可以使用Activity的所有资源。如果把下面的代码放在这里,获取到的context的值将不会再是空的!