【发布时间】:2013-11-17 13:26:10
【问题描述】:
我正在使用 ActionBarSherlock,我正在尝试使用 viewpager 实现嵌套片段结构。
我有一个包含一些视图和包装片段 (FragmentA) 的活动
此 FragmentA 包含一个显示 FragmentA.1、FragmentA.2、FragmentA.3 的视图分页器。
默认情况下,onCreateOptionsMenu 事件不会按原样分派给子片段 讨论了here。所以我正在使用this 解决方案来解决这个问题。
它在 API 级别 17 上运行良好,但在下面它不显示第一个片段的选项菜单,但是当我滚动到其他片段时,一切都开始正常工作。我尝试从父片段调用 onCreateOptionsMenu 但没有结果。当我滚动回第一个片段时它也可以工作。
有什么建议吗?
更新:
更清晰的结构表达方式:
通过包装片段,我的意思是保存 viewpager 的片段。所以结构是
ACTIVITY
-> WRAPPER FRAGMENT (holds viewpager and passes childfragmentmanager to adapter(FragmentPagerAdapter) as fragmentmanager) (parent is activity)
-> CHILDFRAGMENTS(items of viewpager) (parent is wrapper fragment but viewpager manages its framelayout)
我还找到了一个不太好的临时解决方案:
if(Build.VERSION.SDK_INT > 17){
pager.setCurrentItem(1,false);
} else {
new android.os.Handler().postDelayed(new Runnable() {
@Override
public void run() {
pager.setCurrentItem(1, true);
}
}, 300);
}
【问题讨论】:
标签: android android-fragments actionbarsherlock android-viewpager fragment