2013-12-14 6 views
0

라이브러리에 정의 된 활동의 하위 클래스 인 활동이 있다고 가정하십시오. 이 하위 클래스에서 기본 클래스에서 만든 메뉴에 추가 메뉴 항목을 추가하려고합니다. 그러나 XML에 정의 된이 추가 메뉴 항목을 원합니다. 그게 가능하니? 방법?XML 정의 메뉴 항목을 동적으로 추가하십시오.

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    // TODO: how to add an additional menu item here? 
    // the item is defined in xml 
    // the id is item_switch_browsing_mode 
    return true; 
} 

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item 
     android:id="@+id/item_switch_browsing_mode" 
     android:icon="@android:drawable/ic_menu_view" 
     android:showAsAction="always"/> 
</menu> 

답변

0

시도 메뉴 인플레이터, 그것은 지정된 XML을 기반으로 메뉴 항목을 추가 할 수 있지만 먼저 상위 메뉴 항목을 채우는 데 super.onCreateOptionsMenu를 호출해야합니다. 다음과 같이 입력하십시오 :

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    super.onCreateOptionsMenu(menu); 
    MenuInflater inflater = getMenuInflater();  
    inflater.inflate(R.menu.new_menu, menu);  
    return true; 
} 

http://developer.android.com/reference/android/view/MenuInflater.html을 참조하십시오.

+0

감사합니다. 나는 문서 "메뉴에서 팽창시킬 메뉴를 무시했습니다. 항목과 하위 메뉴가이 메뉴에 추가 될 것입니다."그리고 나는 팽창이 기본 메뉴를 지우고 새 메뉴를 만들 것이라고 생각했습니다. – Robin