6

我正在尝试从片段更改活动标题(在这种情况下,它是一个android.support.v4.app.Fragment)。为此,我在片段onAttach()上调用时将活动保存在片段上的属性中。根据文档,onAttach()应该在之前调用onCreateView(),我用它来请求一些用于填充视图的数据。当我启动网络检索线程时,我想在标题中指出这一点,所以我试图this.activity.setTitle()Fragment. 但是,这一直在抛出NullPointerException. 我在这里想念什么?

4

2 回答 2

15

您可以使用 访问片段中的活动getActivity()。只要onActivityCreated()在 Fragment 上调用它就可以安全地调用它。在此之前,它可能不存在或尚未完全初始化。

如果您的线程在此之前开始,只需注意片段中某处的事实,并且仅在onActivityCreated调用后更改标题。

于 2012-06-22T11:24:44.877 回答
0

现在你也可以调用requiredActivity()那个返回FragmentActivity对象,如果片段不是来自一个活动,方法会抛出一个IllegalStateException

于 2019-12-06T20:09:39.317 回答