我有一個基本問題,我很驚訝我沒有找到一個已經處理這個問題的主題:我添加元素到我的導航抽屜菜單時遇到困難。動態添加項目到NavigationDrawer菜單
我保留了菜單的參考:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_pager, menu);
mMenu = menu;
return true;
}
而且在的AsyncTask的回調,我嘗試將項目添加到我的菜單是這樣的:
mMenu.add("title").setIcon(R.drawable.ic_group);
Idealy我想將它添加到「menu_group」組中,但現在我嘗試這種方式。
佈局/ activity_main_pager
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">
<include
layout="@layout/app_bar_main_pager"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/nav_header_main_pager"
app:menu="@menu/activity_main_pager_drawer" />
</android.support.v4.widget.DrawerLayout>
菜單/ activity_main_pager_drawer
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:title="@string/menu_title_groups">
<menu>
<group android:id="@+id/menu_groups">
<item
android:id="@+id/menu_add_group"
android:icon="@drawable/ic_group_add"
android:title="@string/menu_add_group" />
</group>
</menu>
</item>
</menu>
獎金的問題:我的菜單 「menu_add_group」 項目的圖標顯示不正確,我有一個灰色的方塊而不是它。
謝謝,如果我沒有搜索correclty,請不要猶豫與我聯繫。
好吧,其中一個問題是我得到我的mMenu的方式。我添加了所有我的救命恩人上市加改正這一個:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main_pager, menu);
return true;
}
,並在我的活動初始化:
NavigationView nav = (NavigationView) mDrawer.findViewById(R.id.nav_view);
mMenu = nav.getMenu();
當我添加菜單項:
menu.add("title").setIcon(R.drawable.ic_group);
supportInvalidateOptionsMenu();
仍然不打印我的菜單項目。我的代碼中必須有一個以上的缺陷。 setItemIconTintList(null)認爲它的工作!謝謝 ! –
您仍然需要在'onCreateOptionsMenu(菜單)'中正確填充菜單。我已經更新了我的答案,明確提及它。 –
我有這種感覺,我不應該在onCreateOptionMenu中獲得菜單,還有其他方法嗎? –