新建Menu的layout文件名称为 test_menu_layout

 
  
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <menu xmlns:android="http://schemas.android.com/apk/res/android" > 
  3.     <item android:id="@+id/item1" 
  4.         android:title="@string/item1" 
  5.         android:showAsAction="never"> 
  6.         <menu> 
  7.               
  8.         </menu> 
  9.     </item> 
  10.     <item android:id="@+id/item2" 
  11.         android:title="@string/item2" 
  12.         android:showAsAction="never"/> 
  13.  
  14. </menu> 

 

然后重写onCreateOptionMenu()方法,在这个方法中动态添加需要显示的子menu

 
  
  1. @Override  
  2. public boolean onCreateOptionsMenu(Menu menu) {  
  3.     // TODO Auto-generated method stub  
  4.     getMenuInflater().inflate(R.menu.test_menu_layout, menu);  
  5.     SubMenu mSubmenu = menu.getItem(0).getSubMenu();  
  6.     mSubmenu.addSubMenu(R.id.item1, Menu.NONE, 10, "test1");  
  7.     mSubmenu.addSubMenu(R.id.item2, Menu.NONE, 11, "test2");  
  8.     return true;  

这样点击item1的时候就会出现test1和test2两个子menu了。

注:需要添加子menu的item必须带有<menu></menu>标签,不然会报错。