我有一个 FragmentActivity
,它承载一个 FragmentStatePagerAdapter
。寻呼机包含同一 fragment 的多个实例,以便用户可以在列表中的项目之间滑动。我希望能够为用户提供一个仅对可见项目起作用的选项菜单。
例如,我有一个图像列表显示在 fragment 内的 ImageView 中。我想要一个允许用户将图像设置为墙纸的选项菜单项。
在我尝试这个的时候,当 onPrepareOptionsMenu
被调用时,代码在多个 fragment 中被调用(通常是当前 + 下一个)。选择项目时相同。这会导致将错误的图像设置为墙纸。
如何防止选项菜单触发超过当前可见的 fragment ?
最佳答案
我的解决方案是使用 ViewPager
的 setOnPageChangeListener
方法来跟踪当前哪个 Fragment
索引对 onPageSelected
回调。您仍然需要自己获取初始索引,但在我的情况下这是微不足道的
关于android - 在多 fragment Activity 中使用选项菜单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6831544/