我有一个简单FragmentActivity
的包含三个片段,每个片段都包含以下方法来设置用户滚动到每个片段时的标题。
@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (isVisibleToUser) {
getActivity().setTitle(pageTitle);
}
}
pageTitle
显然因片段而异。这可以按需要工作,除非在离开应用程序一段时间后,有时在重新打开(到 FragmentActivity)时标题不存在,滚动浏览片段时也没有设置。我被告知这可能是因为应用程序进程被杀死等。
有谁知道我该如何处理这种情况?一种可能是在进程被终止后从主应用程序加载应用程序(不理想,但由于我的应用程序的工作方式,它应该不是什么大问题),但我不知道该怎么做正在做。
此外,pageTitle 设置在从 FragmentAdapter 调用的 Fragment 的新实例中(如下所示) - 这可能是问题的根源,因为它们正在重建?对标题的文本进行硬编码会更好吗?
public static Fragment newInstance(String title) {
pageTitle = title;
return new Fragment();
}
通过以下方式设置它会解决问题吗(我可以测试它,但因为它需要时间,我想我会在这里问它,因为我只是想到它):
getActivity().setTitle("Page Title");
我知道可能有某种onResume()
类型的交易可以解决这个问题,但我似乎无法让它发挥作用,因此感谢任何帮助/指导/解决方案。希望我的问题已经足够清楚,如果您想了解更多关于我的代码的信息,请询问 - 但我很确定这可能是相关的。