diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java index 8f13bb2b770..0cd2f5ab982 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIAbstractTabGroup.java @@ -126,7 +126,7 @@ public abstract class TiUIAbstractTabGroup extends TiUIView public abstract String getTabTitle(int index); // region protected fields - protected static final String TAG = "TiUITabLayoutTabGroup"; + protected final static String TAG = "TiUIAbstractTabGroup"; protected static final String WARNING_LAYOUT_MESSAGE = "Trying to customize an unknown layout, sticking to the default one"; @@ -237,7 +237,6 @@ public void addTab(TabProxy tabProxy) tabFragmentIDs.add(fragmentIdGenerator.getAndIncrement()); this.tabGroupPagerAdapter.notifyDataSetChanged(); - addTabItemInController(tabProxy); } diff --git a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java index 220dae85ce7..07b625e0252 100644 --- a/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java +++ b/android/modules/ui/src/java/ti/modules/titanium/ui/widget/tabgroup/TiUIBottomNavigationTabGroup.java @@ -28,6 +28,7 @@ import java.util.ArrayList; import ti.modules.titanium.ui.TabGroupProxy; +import ti.modules.titanium.ui.TabProxy; /** * TabGroup implementation using BottomNavigationView as a controller. @@ -48,6 +49,22 @@ public TiUIBottomNavigationTabGroup(TabGroupProxy proxy, TiBaseActivity activity super(proxy, activity); } + // Overriding addTab method to provide a proper guard for trying to add more tabs than the limit + // for BottomNavigationView class. + @Override + public void addTab(TabProxy tabProxy) + { + if (this.mBottomNavigationView == null) { + return; + } + final int MAX_TABS = this.mBottomNavigationView.getMaxItemCount(); + if (this.tabs.size() < MAX_TABS) { + super.addTab(tabProxy); + } else { + Log.w(TAG, "Bottom style TabGroup cannot have more than " + MAX_TABS + " tabs."); + } + } + @Override public void addViews(TiBaseActivity activity) {