Android OnPrepareOptionsMenu在API 16上无法正常工作

时间:2014-08-24 12:16:00

标签: android android-fragments android-actionbar menuitem oncreateoptionsmenu

在我的应用程序中,我通过在fragmentTransaction上调用replace()来添加一个片段。

这个片段,我们称之为Fragment1,通过在onCreate()中调用onCreateOptionsMenu和setHasOptionsMenu(true),将一些菜单项添加到操作栏。 从这个片段我然后添加另一个片段,通过在FragmentTransaction上调用add()来添加。

此片段2还具有选项菜单,但删除了第一个片段的选项。然后,在API 19上,当我单击Back Button时,它会将我带回Fragment1并添加此菜单的选项,因为托管这两个片段的活动会调用onCreateOptionsMenu然后调用onPrepare选项菜单。 Fragment1中也调用相同的方法。

当我在API 16上运行我的应用程序时,也会调用所有提到的方法,但是Fragment1的菜单项根本不会被添加回来,或者三点菜单组被添加到错误的位置。我假设在较低的API中有一些不同的东西,甚至可能是一个bug。我该如何解决这个问题?有经验的人吗?

这是从第二个片段返回第一个片段时的样子,以及它在API 16上应该是什么样子:

This is the wrong behavior

从第二个片段返回到第一个片段之后,这就是它应该如何工作以及它在API 19上的样子:

enter image description here

我没有附上任何代码,因为我认为这与此问题无关。在不同的平台上只有一些不同的行为,我只是看不出我应该怎么做。谢谢你的帮助。

0 个答案:

没有答案