我创建了一个底部导航栏。我在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"
/>
但我想以编程方式添加项目。我能怎么做? BottomNavigation guide说
可以通过指定菜单资源文件来填充条形内容。每个菜单项标题,图标和启用状态将用于显示底部导航栏项。菜单项也可用于以编程方式选择当前活动的目的地。可以使用MenuItem #setChecked(true)
来完成
我知道使用xml是一个填充的解决方案,但不仅仅是创建底部导航的方法。
我在onCreate函数中使用下面的代码添加一个新项目:
Menu menu = bottomNavigationView.getMenu();
menu.add(0, id, Menu.NONE, "NEW ITEM");
它没有正常工作。我只能在导航栏上看到一个项目。当我可以按下项目的区域时,项目出现(其他项目消失)。
修改
我发现了问题。如果我在导航栏上放置了3个以上的项目,则会出现此问题。有关此问题的question。解决方案有效!