【发布时间】:2020-02-02 03:37:05
【问题描述】:
在我的 bottomNavigationView 中,我可以通过编程方式更改我的菜单项,但实际上我的布局与是否选中或直接单击选项卡不同。请看下面的区别:
1) 对于menuItem.setChecked(true):
2) 当用户直接点击图标时,它会执行动画并显示在正确的位置
我真正想要的是像用户点击一样选择 menuItem。不应该通过执行 menuItem.setChecked(true) 来工作吗?
请考虑以下菜单项的定义布局:
<item android:id="@+id/menu_home"
android:title="@string/menu_home"
android:icon="@drawable/ic_home_black_24dp"
app:showAsAction="ifRoom" />
<item android:id="@+id/menu_hall_of_fame"
android:title="@string/menu_hall_of_fame"
android:icon="@drawable/ic_stars_black_24dp"
app:showAsAction="ifRoom" />
<item android:id="@+id/menu_info"
android:title="@string/menu_info"
android:icon="@drawable/ic_info_black_24dp"
app:showAsAction="ifRoom" />
<item android:id="@+id/menu_settings"
android:title="@string/menu_settings"
android:icon="@drawable/ic_settings_black_24dp"
app:showAsAction="ifRoom" />
以及我如何检查正确的菜单项:
MenuItem item = mBottomNav.getMenu().findItem(R.id.menu_about);
// update selected item
mSelectedItem = item.getItemId();
// uncheck the other items and select the one.
for (int i = 0; i< mBottomNav.getMenu().size(); i++) {
MenuItem menuItem = mBottomNav.getMenu().getItem(i);
menuItem.setChecked(menuItem.getItemId() == mSelectedItem);
}
还有另一种方法可以选择菜单项吗?我在这里错过了什么?
【问题讨论】:
标签: android menuitem navigationbar