I thing the best approach to this is to include all your items in the menu and the change their visibility.
<item
android:id="@+id/login"
android:icon="@drawable/ic_action_person"
android:title="@string/login"
android:visible="true" />
<item
android:id="@+id/logout"
android:icon="@drawable/ic_action_person"
android:title="@string/logout"
android:visible="false" />
then
navigationView.getMenu().findItem(R.id.login).setVisible(false);
navigationView.getMenu().findItem(R.id.logout).setVisible(true);
You can also do this with whole groups of items
<group
android:id="@+id/group_1"
android:checkableBehavior="single"
android:visible="false">
...
</group>
and
navigationView.getMenu().setGroupVisible(R.id.group_1, true)