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