Java android动态添加菜单项

Java android动态添加菜单项,java,android,Java,Android,我想添加到菜单项中,但用户可以选择要查看或隐藏的内容,但我不知道如何操作。我这样做: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android="http://schemas.android.com/apk/res/android"> <item android:title="NARZĘDZIA"> <menu> <item

我想添加到菜单项中,但用户可以选择要查看或隐藏的内容,但我不知道如何操作。我这样做:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:title="NARZĘDZIA">
        <menu>
            <item
                android:id="@+id/show_point"
                android:icon="@drawable/point"
                android:title="Pokaż wybraną pozycję obiektu" />
            <item
                android:id="@+id/sync"
                android:icon="@drawable/sync"
                android:title="Pojedyńcze odpytanie" />
            <item
                android:id="@+id/show_chooce"
                android:icon="@drawable/show_chooce"
                android:title="Pokaż wybrane obiekty" />
            <item
                android:id="@+id/my_location"
                android:icon="@drawable/position2"
                android:title="Moja lokalizacja" />
        </menu>
    </item>

    <item android:title="APLIKACJA">
        <menu>
            <item
                android:id="@+id/settigs"
                android:icon="@drawable/set"
                android:title="Ustawienia aplikacji" />
            <item
                android:id="@+id/about"
                android:icon="@drawable/about"
                android:title="O programie" />
        </menu>
    </item>
</menu>


现在我想创建一个活动,用户可以在其中选择要显示的内容,但我不知道如何在菜单上隐藏此项

//menu intialation
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    menu.clear();

    MenuItem item =
            menu.add(Menu.FIRST, R.id.dashboard_nodifycation, 3, "NODIFICATION");
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    menu.add(Menu.FIRST, R.id.System_log, 4, "LOGOUT");

    dbHelper = new Database_for_GCM_data(Activity_Drawer_Dashboard.this);
    int unread_count = Integer.parseInt(dbHelper.getUnreadCount());
    // calling function for nodification inflater
    item.setIcon(buildCounterDrawable(unread_count, R.drawable.white_nodification, getApplicationContext()));

    return true;
}

您可以更改java文件

//menu intialation
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    menu.clear();

    MenuItem item =
            menu.add(Menu.FIRST, R.id.dashboard_nodifycation, 3, "NODIFICATION");
    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
    menu.add(Menu.FIRST, R.id.System_log, 4, "LOGOUT");

    dbHelper = new Database_for_GCM_data(Activity_Drawer_Dashboard.this);
    int unread_count = Integer.parseInt(dbHelper.getUnreadCount());
    // calling function for nodification inflater
    item.setIcon(buildCounterDrawable(unread_count, R.drawable.white_nodification, getApplicationContext()));

    return true;
}
您可以在活动中随时更改可见性,但必须先将其充气

您可以在活动中随时更改可视性,但必须先将其充气

检查此项:检查此项: