从FragmentPagerAdapter中的片段更新活动标题

时间:2015-03-10 17:04:08

标签: android android-fragments android-viewpager android-adapter android-toolbar

我在v4.ViewPagerActivity并使用谷歌的SlidingTabBasics示例中的SlidingTabLayout。我遇到的问题是从getItem(position)中的v4.FragmentPagerAdapter检索到的每个片段都必须刷新活动标题。我已经学会了FragmentPagerAdapter导致片段真正奇怪的生命回调的艰难方式,因此我无法使用onResumeonStart。我注意到,当我想刷新活动标题时,onCreateOptionsMenu(menu,inflater)被完全调用。 ViewPager已解决片段并且应更改活动标题时,是否有回调提供操作?ViewPager.onPageSelected(position)上设置回调是不方便的,因为我希望此信息从片段传播,而不是片段。

目前我偷了' onCreateOptionsMenu(menu,inflater)为我做的工作但是当没有菜单应该膨胀时它会导致优化问题,但我仍然希望片段能够影响活动标题。

2 个答案:

答案 0 :(得分:0)

您是否在片段中尝试过此代码:

if(getActivity() != null){
   getActivity().setTitle("new title");
}

如果片段尚未附加到活动,请考虑getActivity()将为null。

一帆风顺。

答案 1 :(得分:0)

您可以通过不同方式执行此操作。 您可以在可以通过活动实现的片段中使用接口。但缺点是,如果你有大量的片段,你必须实现所有片段。