我正在尝试从片段更改活动标题(在这种情况下,它是一个android.support.v4.app.Fragment
)。为此,我在片段onAttach()
上调用时将活动保存在片段上的属性中。根据文档,onAttach()
应该在之前调用onCreateView()
,我用它来请求一些用于填充视图的数据。当我启动网络检索线程时,我想在标题中指出这一点,所以我试图this.activity.setTitle()
从Fragment
. 但是,这一直在抛出NullPointerException
. 我在这里想念什么?
问问题
12879 次
2 回答
15
您可以使用 访问片段中的活动getActivity()
。只要onActivityCreated()
在 Fragment 上调用它就可以安全地调用它。在此之前,它可能不存在或尚未完全初始化。
如果您的线程在此之前开始,只需注意片段中某处的事实,并且仅在onActivityCreated
调用后更改标题。
于 2012-06-22T11:24:44.877 回答
0
现在你也可以调用requiredActivity()
那个返回FragmentActivity
对象,如果片段不是来自一个活动,方法会抛出一个IllegalStateException
于 2019-12-06T20:09:39.317 回答