0
次のコードは、BottonNavigationViewから項目を削除します。それは正しく動作します。メニューから項目を削除できますが、非表示にできないのはなぜですか?
@Override
protected void hideUselessBottomBarButtons(Menu menu) {
BottomNavigationView theMenuOfTheCujons = (BottomNavigationView) findViewById(R.id.bottom_navigation);
theMenuOfTheCujons.getMenu().removeItem(0);
}
しかし、私はそれがない作品を行いremoveItem(0)へのsetVisible(false)をを変更した場合、ボタンはまだそこにあります。私は何をしないのです
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.BottomNavigationView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/bottom_navigation"
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
android:layout_gravity="bottom"
android:elevation="8dp"
android:background="@color/color_button_bar"
app:itemIconTint="@color/navigation_item_selector"
app:itemTextColor="@color/navigation_item_selector"
app:layout_anchorGravity="bottom"/>
:
protected void showBottomMenuItems() {
Menu bottomMenu = mBottomNavigationView.getMenu();
if (bottomMenu.size() == 0) {
for (int i = 0; i < mMenuItemList.size(); i++) {
if (bottomMenu.size() < mBottomNavigationView.getMaxItemCount()) {
if (getItemTitle(i) != 0) {
if ((i % 2) == 0) {
(bottomMenu.add(Menu.NONE, getItemId(i), i, getItemTitle(i)).setIcon(getItemIcon(i))).setVisible(false);
Badger.sett(bottomMenu.getItem(i), mCircleFactory).setCount(0);
}else {
(bottomMenu.add(Menu.NONE, getItemId(i), i, getItemTitle(i)).setIcon(getItemIcon(i))).setVisible(true);
Badger.sett(bottomMenu.getItem(i), mCircleFactory).setCount(0);
}
supportInvalidateOptionsMenu();
}
updateBadgeCounters(i, bottomMenu);
} else {
break;
}
}
}
BottomNavigationViewUtils.disableShiftMode(mBottomNavigationView);
}
bottom_navigationレイアウトはこれですか?
私は 'AppCompatActivity'を使用していますので、' supportInvalidateOptionsMenu(); 'を追加しましたが結果はありません。 –
質問にあなたの活動コードを入れてください。 –
アクティビティは本当に大きく、特にどの部分ですか? –