Android 为什么不';t菜单为您预先充气?

Android 为什么不';t菜单为您预先充气?,android,menu,inflate,Android,Menu,Inflate,为什么在Android中,菜单不会像活动的布局那样自动膨胀?它们是,就像这样覆盖: @Override public boolean onCreateOptionsMenu(Menu menu) { MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.YOUR_MENU_LAYOUT, menu); return true; }

为什么在Android中,菜单不会像活动的布局那样自动膨胀?

它们是,就像这样覆盖:

 @Override
    public boolean onCreateOptionsMenu(Menu menu) {     
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.YOUR_MENU_LAYOUT, menu);
        return true;    
    }
编辑,这是一个示例xml,它们进入
/res/menu

<menu>
   <item android:id="@+id/menu_sample"
          android:title="Sample text"
          android:icon="@drawable/ic_menu_sample"
     />

</menu>


您确实可以使用
setContentView(R.layout.which)显式地膨胀活动布局。
。它的名称中没有“膨胀”,但(除其他几件事外)它就是这样做的。

我感到困惑的是:您建议我提供的重写代码包含显式膨胀XML文件的语句。但是,我的活动布局不需要这样的操作。所以我的问题不是“如何”膨胀菜单,而是“为什么”需要膨胀菜单?为什么菜单不像活动布局那样自动膨胀?谢谢,但版面也以同样的方式膨胀,只需一个API调用
setContentView(版面)
。你的问题的“为什么”部分可以简单到“使添加子菜单更容易”举个例子。我有一个扩展活动的抽象类。它为菜单选项提供了一组常用操作。在我用于活动的子类中,我使用
addSubMenu(int-groupId、int-itemId、int-order、int-titlers)动态添加特定选项。
这样我就不需要到处复制和粘贴xml。