Android 除非重点关注小组活动,否则不显示菜单

Android 除非重点关注小组活动,否则不显示菜单,android,Android,菜单选项在菜单btn单击时不可见,除非聚焦 @Override public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub System.out.println(" in menu"); new MenuInflater(this.getParent()).inflate(R.menu.sample, menu);

菜单选项在菜单btn单击时不可见,除非聚焦


       @Override 
    public boolean onCreateOptionsMenu(Menu menu) {
        // TODO Auto-generated method stub
    System.out.println(" in menu");     
    new MenuInflater(this.getParent()).inflate(R.menu.sample, menu);
        return (super.onCreateOptionsMenu(menu));

    }    

按“功能表”时,在小组的每个活动中登录onKeyDown方法 然后你就可以追踪到底发生了什么

必须有一个活动接收按键事件,你应该看看 你可以看到这个

父活动组:

  @Overridepublic boolean onCreateOptionsMenu(Menu menu) {
      Log.d(TAG, "in parent");
  menu.clear();
  return getCurrentActivity().onCreateOptionsMenu(menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_gionew, menu);
    Log.d(TAG, "in childA");
    return true;
}
}


儿童活动组:

  @Overridepublic boolean onCreateOptionsMenu(Menu menu) {
      Log.d(TAG, "in parent");
  menu.clear();
  return getCurrentActivity().onCreateOptionsMenu(menu);
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu_gionew, menu);
    Log.d(TAG, "in childA");
    return true;
}


尝试阅读此博客帖子:

如果ActivityGroup的子活动中没有菜单,只需覆盖ActivityGroup中的OnCreateOptions菜单和OnOptions ItemSelected方法,以调用当前子活动的相应方法

以下是您需要在ActivityGroup类中添加的内容:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    return this.getCurrentActivity().onCreateOptionsMenu(menu);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    return this.getCurrentActivity().onOptionsItemSelected(item);
}

就这样。现在,根据您的喜好在每个子活动中实现这些方法,应该可以正常工作。

我在每个活动中都实现了onkeydown方法,其中包含一条打印语句。但是,单击菜单btn不会响应任何打印语句,而我实现了abv代码,但它仍然不起作用。但是我做了观察,我改变了标签,回到searchresult活动,点击菜单btn,它就可以正常工作了。看起来我的标签栏活动应该在顶部。如果你在你的活动中覆盖了菜单中的onKeyDown(),然后写代码来监听菜单键,就像“If(keyCode==KeyEvent.keyCode\u menu)”一样,并调用你的菜单。会有用的,谢谢!这解决了我的问题!