title: Inflate Bottom Navigation View menu programmatically
body: <p>Bottom Navigation View has been added to version 25 of the Design Support Library. Tried  and it's much easier to use now.</p>
  
  <p>But I am facing problem implementing it as per my app requirements.
  I want to inflate menu resource dynamically and change menu items/titles of the Bottom Navigation view programmatically.</p>
  
  <blockquote>
    <p>inflateMenu(int menuResource) — Inflate a menu for the bottom navigation view using a menu resource identifier.</p>
  </blockquote>
  
  <p>According to docs:</p>
  
  <blockquote>
    <p>inflateMenu: void inflateMenu (int resId)
    Inflate a menu resource into this navigation view.
    <strong>Existing items in the menu will not be modified or removed.</strong>
    Parameters
    resId   int: ID of a menu resource to inflate</p>
  </blockquote>
  
  <p>Trying to use this <em>inflateMenu(int resID)</em> method programmatically with navigation view throws exception "<strong>Resource not found</strong>"</p>
  
  <pre><code>bottomNavigationView.inflateMenu(R.menu.bottom_navigation_menu);
  </code></pre>
  
  <p>Is it possible to achieve it without any third party libraries?</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      xmlns:app="http://schemas.android.com/apk/res-auto"&gt;
  
      &lt;FrameLayout
          android:id="@+id/main_fragment_container"
          android:layout_width="match_parent"
          android:layout_height="match_parent"
          android:layout_above="@+id/bottom_navigation" /&gt;
  
      &lt;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:itemBackground="@color/theme_action_bar_bg"
          app:itemIconTint="@color/white"
          app:itemTextColor="@color/white" /&gt;
  &lt;/RelativeLayout&gt;
  </code></pre>
  
  <p>Menu Resource:</p>
  
  <pre><code> &lt;?xml version="1.0" encoding="utf-8"?&gt;
  &lt;menu xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:app="http://schemas.android.com/apk/res-auto"&gt;
      &lt;item
          android:id="@+id/nav_bar_item_dashboard"
          android:enabled="true"
          android:icon="@drawable/ic_nav_bar_dashboard_24px"
          android:title="@string/nav_bar_item_dashboard"
          app:showAsAction="ifRoom" /&gt;
      &lt;item
          android:id="@+id/nav_bar_item_people"
          android:enabled="true"
          android:icon="@drawable/ic_nav_bar_people_24px"
          android:title="@string/nav_bar_item_people"
          app:showAsAction="ifRoom" /&gt;
      &lt;item
          android:id="@+id/nav_bar_item_classroom"
          android:enabled="true"
          android:icon="@drawable/ic_nav_bar_classroom_24px"
          android:title="@string/nav_bar_item_classrooms"
          app:showAsAction="ifRoom" /&gt;
  
      &lt;item
          android:id="@+id/nav_bar_item_manage"
          android:enabled="true"
          android:icon="@drawable/ic_nav_bar_manage_24px"
          android:title="@string/nav_bar_item_manage"
          app:showAsAction="ifRoom" /&gt;
  
      &lt;item
          android:id="@+id/nav_bar_item_more"
          android:enabled="true"
          android:icon="@drawable/ic_nav_bar_more_24px"
          android:title="@string/nav_bar_item_more"
          app:showAsAction="ifRoom" /&gt;
  &lt;/menu&gt;
  </code></pre>
  
  <p>Inflating Programmatically in menuresource for Bottom Navigation view inside Activity:</p>
  
  <pre><code>navBar = (BottomNavigationView) findViewById(R.id.bottom_navigation);
      navBar.inflateMenu(R.menu.bottom_navigation_view);
  </code></pre>