除非关注群组活动,否则不会显示菜单

时间:2011-03-17 06:58:47

标签: 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);
        return (super.onCreateOptionsMenu(menu));

    }    

2 个答案:

答案 0 :(得分:3)

尝试阅读此博文:http://ericharlow.blogspot.com/2010/09/experience-multiple-android-activities.html

如果ActivityGroup的子活动中没有出现菜单,只需覆盖ActivityGroup中的onCreateOptionsMenu和onOptionsItemSelected方法,即可调用当前子活动的相应方法。

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

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

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

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

答案 1 :(得分:0)

按下菜单时,

在每个群组活动上登录onKeyDown方法 然后你可以追踪正在发生的事情

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

父ActivityGroup:

  @Overridepublic boolean onCreateOptionsMenu(Menu menu) {
      Log.d(TAG, "in parent");
  menu.clear();
  return getCurrentActivity().onCreateOptionsMenu(menu);

}


子ActivityGroup:

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