我在v4.ViewPager
内Activity
并使用谷歌的SlidingTabBasics示例中的SlidingTabLayout
。我遇到的问题是从getItem(position)
中的v4.FragmentPagerAdapter
检索到的每个片段都必须刷新活动标题。我已经学会了FragmentPagerAdapter
导致片段真正奇怪的生命回调的艰难方式,因此我无法使用onResume
或onStart
。我注意到,当我想刷新活动标题时,onCreateOptionsMenu(menu,inflater)
被完全调用。 当ViewPager
已解决片段并且应更改活动标题时,是否有回调提供操作?
在ViewPager.onPageSelected(position)
上设置回调是不方便的,因为我希望此信息从片段传播,而不是片段。
目前我偷了' onCreateOptionsMenu(menu,inflater)
为我做的工作但是当没有菜单应该膨胀时它会导致优化问题,但我仍然希望片段能够影响活动标题。
答案 0 :(得分:0)
您是否在片段中尝试过此代码:
if(getActivity() != null){
getActivity().setTitle("new title");
}
如果片段尚未附加到活动,请考虑getActivity()将为null。
一帆风顺。
答案 1 :(得分:0)
您可以通过不同方式执行此操作。 您可以在可以通过活动实现的片段中使用接口。但缺点是,如果你有大量的片段,你必须实现所有片段。