Android 片段标题消失(可能在进程被终止后)?

Android 片段标题消失(可能在进程被终止后)?,android,android-fragments,android-actionbar,Android,Android Fragments,Android Actionbar,我有一个简单的FragmentActivity,它包含三个片段,每个片段都包含以下方法,用于在用户滚动到每个片段时设置标题 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { getActivity().setTitle(pageTitle);

我有一个简单的
FragmentActivity
,它包含三个片段,每个片段都包含以下方法,用于在用户滚动到每个片段时设置标题

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
    if (isVisibleToUser) { 
        getActivity().setTitle(pageTitle);
    }
}
pageTitle
根据片段的不同而明显不同。这可以根据需要工作,除了在离开应用程序一段时间后,有时在重新打开(到FragmentActivity)时,标题不在那里,在滚动片段时也不会设置标题。我被告知这可能是因为申请过程被终止等原因

有人知道我该如何处理这种情况吗?一种可能是在进程被终止后从主应用程序加载应用程序(不理想,但由于我的应用程序的工作方式,这应该不是什么大问题),但我不知道如何去做

另外,pageTitle是在片段的新实例中设置的,该实例是从FragmentAdapter(如下所示)调用的-这可能是问题的根源,因为它们正在重建吗?只是硬编码标题的文本会更好吗

public static Fragment newInstance(String title) {
    pageTitle = title;
    return new Fragment();
}
通过以下方式设置它会解决问题吗(我可以测试它,但因为它需要时间,我想我会在这里问它,因为我刚刚想到它):

getActivity().setTitle(“页面标题”)


我知道可能会有一些
onResume()
类型的交易来解决这个问题,但我似乎无法让它工作,所以任何帮助/指导/解决方案都是非常感谢的。希望我的问题已经足够清楚了,如果你想了解更多关于我的代码的信息,尽管问吧——但我很确定这就是所有可能相关的内容。

正如我在问题中所想的那样,要么硬编码字符串,要么在
onResume()中设置
pageTitle

再补充一点:

newInstance()
仅在初始创建
FragmentActivity
时调用,因此字符串只传递一次。稍后恢复应用程序时,不会调用
newInstance()
,片段只是从原来的位置重新构建自己。显然,由于字符串不是通过
newInstance()
传递的,因此字符串
pageTitle
现在只是空的

为了解决这个问题,我只是在类中硬编码字符串:

私有字符串pageTitle=“myTitle”

但是,如果只希望从适配器获取它,您可以在
onResume()
中始终从适配器调用getTitle,如下所示(可以做得更好,只是为了演示):

@Override
public void onResume(){
    super.onResume();
    pageTitle = new MyFragmentAdapter().getPageTitle(myPageNumber).toString();
}