我已经使用菜单创建了底栏导航。我想通过检查一些条件来删除菜单项,所以我想删除使用java代码。我已经尝试使用onCreateOptionsMenu()
,但不知何故它没有用。我不知道自己做错了什么,我会感激一点帮助。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.member_activities);
BottomNavigationView bottomNavigationView = (BottomNavigationView) findViewById(R.id.bottomViewBar);
BottomNavigationViewHelper.disableShiftMode(bottomNavigationView);
menu = bottomNavigationView.getMenu();
MenuItem menuItem = menu.getItem(0);
menuItem.setChecked(true);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
this.menu = menu;
menu.removeItem(R.id.district_tab);
return true;
}
bottom_navigation_menu.xml:
<item
android:id="@+id/member_tab"
android:icon="@drawable/ic_person_outline"
android:title="Member"/>
<item
android:id="@+id/club_tab"
android:icon="@drawable/ic_person_outline"
android:title="Club"/>
<item
android:id="@+id/district_tab"
android:icon="@drawable/ic_person_outline"
android:title="District"/>
<item
android:id="@+id/ag_tab"
android:icon="@drawable/ic_person_outline"
android:title="AG"/>
<item
android:id="@+id/dg_tab"
android:icon="@drawable/ic_person_outline"
android:title="DG"/>
答案 0 :(得分:4)
onCreateOptionsMenu
用于工具栏中的菜单。
对于BottomNavigationView中的菜单,您需要在bottomNavigationView.getMenu().removeItem(R.id.district_tab);
方法中使用onCreate
。
答案 1 :(得分:2)
试试这个请:
bottomNavigationView.getMenu().removeItem(R.id.district_tab);
答案 2 :(得分:1)
您必须使用底部导航视图的参考来删除项目:
bottomNavigationView.getMenu().removeItem(R.id.district_tab);