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