取自http://developer.android.com/guide/topics/ui/settings.html:
注意:PreferenceFragment没有自己的Context对象。如果 你需要一个Context对象,你可以调用getActivity()。但是,是的 小心只有当片段附加到一个时才调用getActivity() 活动。当碎片尚未附着或分离时 在其生命周期结束时,getActivity()将返回null。
如果我从PreferenceFragment的OnCreate()方法中调用getActivity(),那么我可以确信该片段已附加到其活动中 - 或者是否有其他方式可以在此实例中获取Context?
我需要Context的原因是我正在尝试使用PreferenceFragment中的Toast通知
答案 0 :(得分:16)
如果您想确保上下文可用,则需要等到片段已附加到活动。对此的回调是onAttach(Activity)
方法。
根据片段的生命周期状态,getActivity()
方法也可以返回null。