16

取自http://developer.android.com/guide/topics/ui/settings.html

注意:PreferenceFragment 没有自己的 Context 对象。如果需要 Context 对象,可以调用 getActivity()。但是,请注意仅当片段附加到活动时才调用 getActivity()。当片段尚未附加或在其生命周期结束时被分离时,getActivity() 将返回 null。

如果我从 PreferenceFragment 的 OnCreate() 方法中调用 getActivity() ,那么我可以确保片段附加到它的活动 - 或者在这种情况下是否有其他方法可以获取上下文?

我需要上下文的原因是我正在尝试使用来自 PreferenceFragment 的 Toast 通知

4

1 回答 1

19

如果您想确保 Context 可用,您需要等到 Fragment 已附加到 Activity。这个回调是onAttach(Activity)方法。

根据片段的生命周期状态,该getActivity()方法还可以返回 null。

于 2012-08-31T09:38:32.717 回答