Menu動態添加子menu

新建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>標籤,不然會報錯。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章