前言:有时候fragment需要获取activity的权柄context才可以执行一些东西,然而偶尔会出现

on a null object reference

的错误,原因是没有初始化,其实就是context没有初始化,我们一般习惯fragment提取成基类的baseFragment里面一般有

initData():用于初始化一些数据或函数

initListener()用监听

问题在于如果在上述两者获取context就会出现上面所述的问题没有初始化,原因是fragment的生命周期:参考

Android Fragment 生命周期以及基本用法(一)

onActivityCreated:在ActivityOnCreate()结束后,会调用此方法。所以到这里的时候,Activity已经创建完成!在这个函数中才可以使用Activity的所有资源。如果把下面的代码放在这里,获取到的context的值将不会再是空的!