【问题标题】:Completely Remove an item of submenu in NavigationDrawer on Android在 Android 上完全删除导航抽屉中的子菜单项
【发布时间】:2017-07-14 12:50:49
【问题描述】:

我使用以下 sn-p 来隐藏 NavigationDrawer 中子菜单项的可见性,但它只是擦除文本,不会删除它包含在抽屉中的空间。我想完全删除该项目,而不仅仅是可见性。

mNavigationView = (NavigationView) findViewById(R.id.navigationViewReports);

mNavigationView.setNavigationItemSelectedListener(Reports_DrawerMain.this);
mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().setGroupVisible(R.id.limitations, false);
for (int i = 0; i < mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().size(); i++) {
 Log.I(TAG, "Menu: " + mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().getItem(i));
}
mNavigationView.refreshDrawableState();

但是当我使用删除组功能时,它不会自行删除。我想以不占用任何空间的方式从菜单中删除该项目。

mNavigationView.getMenu().findItem(R.id.reportsMenu).getSubMenu().removeGroup(R.id.limitations);

使用支持库编译'com.android.support:support-v4:23.1.1'

【问题讨论】:

    标签: android material-design navigation-drawer


    【解决方案1】:

    所以我只需要再写一行,它会显示更新的结果。

    mNavigationView.inflateMenu(R.menu.temp);
    

    其中 temp 是一个没有项目的 xml。

    <menu xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto">
    </menu>
    

    这可能不是一个正确的解决方案,但它确实有效。

    【讨论】:

      猜你喜欢
      • 2013-06-13
      • 1970-01-01
      • 1970-01-01
      • 2014-08-20
      • 2015-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      相关资源
      最近更新 更多