【问题标题】:How to add menu?如何添加菜单?
【发布时间】:2012-03-01 09:14:19
【问题描述】:

我使用组作为 tabhost。 在 MyGroup 中,调用 AActivity 的代码如下:

Intent intent = new Intent(this, AActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
Window w = NASGroup.group.getLocalActivityManager().startActivity("AActivity", intent);  
View view = w.getDecorView();
MyGroup.group.setContentView(view);

显示 AActivity 和菜单按钮有效。 然后,我尝试使用 AActivity 调用 BActivity,如下代码:

Intent intent = new Intent(AActivity.this, BActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
Window w = NASGroup.group.getLocalActivityManager().startActivity("BActivity", intent);  
View view = w.getDecorView();
MyGroup.group.setContentView(view);

BActivity 显示,但菜单按钮不起作用,没有任何错误消息。 我也尝试通过 MyGroup 调用 BActivity,如下代码:

Intent intent = new Intent(this, BActivity.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);  
Window w = NASGroup.group.getLocalActivityManager().startActivity("BAActivity", intent);  
View view = w.getDecorView();
MyGroup.group.setContentView(view);

BActivity 显示,菜单按钮有效。 如果我还想通过 AActivity 调用 BActivity。 我该怎么办?

【问题讨论】:

  • 你在用ActivityGroup显示tabhost吗?
  • 是的,我用ActivityGroup来展示。

标签: android activitygroup


【解决方案1】:

不要在子活动类中添加单独的菜单,而是将所有菜单一起添加到扩展ActivityGroup的父类中。并实现OnTabChangeListener 以检测所选活动选项卡并相应地更改(显示/隐藏)您的菜单

【讨论】:

    【解决方案2】:

    如果我正确理解您的问题:

    在活动 A 中:

    Intent nextScreen = new Intent(getApplicationContext(), B.class);
    startActivity(nextScreen);
    

    并将其添加到您的清单中:

    <activity android:name=".B"></activity>
    

    来自http://developer.android.com/reference/android/app/Activity.html

    所有活动类都必须有相应的声明 在他们包的 AndroidManifest.xml 中

    【讨论】:

    • 我已经添加了 AndroidManifest。由于 TabHost,我想使用组来显示每个活动。
    • 我猜他的活动运行良好(清单中没有问题)。问题在于菜单加载
    • 我还定义了 onCreateOptionsMenu 和 onPrepareOptionsMenu。
    猜你喜欢
    • 1970-01-01
    • 2017-02-18
    • 2019-10-02
    • 1970-01-01
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2020-09-06
    • 1970-01-01
    相关资源
    最近更新 更多