gpt4 book ai didi

android - onCreateOptionsMenu 没有出现

转载 作者:行者123 更新时间:2023-11-29 18:12:01 27 4
gpt4 key购买 nike

我的应用程序有这样的东西:

TabActivity
Tab 1 (ActivityGroup)
Activity > Activity > MapActivity
Tab 2 (ActivityGroup)
MapActivity

问题是在Tab 2 MapActivity选项菜单没有出现,甚至显示错误。但在第一个 MapActivity 中效果很好。我在 onCreateOptionsMenu 方法中放置了一个断点,但我什至进入了它。

我用了这个tutorial让我的应用程序基于 TabHost。

谁能帮我知道为什么一个有效而另一个无效?

提前致谢。

更新

关于版本:

<uses-sdk android:minSdkVersion="10" android:targetSdkVersion="13" />

第一个 MapActivity 类:

public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 1, "Nearest");
menu.add(0, 1, 1, "Directions");
return true;
}

第二个 MapActivity 类:

public boolean onCreateOptionsMenu(Menu menu) {
menu.add(0, 0, 1, "Nearest");
menu.add(0, 1, 1, "Region");
return true;
}

最佳答案

基本上 TabHost 只有一个选项菜单。

我没有测试过它,但我的猜测是它只是使用从 onCreateOptionsMenu 返回 true 的第一个 Activity 。如果你想为每个选项卡使用不同的选项菜单,你必须做几件事:

1) 子类 TabHost 并覆盖 onCreateOptionsMenuonPrepareOptionsMenu

2)当标签更改时(不记得您如何收听此事件,Google IT),调用 InvalidateOptionsMenu ,它将强制调用 onprepareoptionsmenu

3) 在 onPrepareOptionsMenu 中,记得调用 menu.clear(),然后执行您在 onCreateOptionsMenu 中执行的正常菜单膨胀操作> 创建您的选项卡特定选项菜单。

关于android - onCreateOptionsMenu 没有出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10148352/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com