Android - 如何将项目添加到底部导航栏

10 android menuitem android-fragments bottomnavigationview

我创建了一个底部导航栏.我在res下创建一个menu.xml.我将BottomNavigation添加到主布局.

<android.support.design.widget.BottomNavigationView
        android:id="@+id/bottom_navigation"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"

        app:menu="@menu/menu"
        app:layout_scrollFlags="scroll|enterAlways|snap"
        />
Run Code Online (Sandbox Code Playgroud)

但我想以编程方式添加项目.我能怎么做?BottomNavigation 指南说明了这一点

可以通过指定菜单资源文件来填充条形内容.每个菜单项标题,图标和启用状态将用于显示底部导航栏项.菜单项也可用于以编程方式选择当前活动的目的地.可以使用MenuItem#setChecked(true)来完成

我知道使用xml是一个填充的解决方案,但不仅仅是创建底部导航的方法.

我在onCreate函数中使用下面的代码添加一个新项:

Menu menu = bottomNavigationView.getMenu();
menu.add(0, id, Menu.NONE, "NEW ITEM");
Run Code Online (Sandbox Code Playgroud)

它无法正常工作.我只能在导航栏上看到一个项目.当我可以按下项目的区域时,项目出现(其他项目消失).

编辑

我发现了问题.如果我在导航栏上放置了3个以上的项目,则会出现此问题.还有一个问题,关于这个问题.解决方案有效!