From c65c2ed499cf1a313e6cc5f806e6c813c3785ba9 Mon Sep 17 00:00:00 2001 From: Daniil Borisovskii Date: Sun, 22 Sep 2019 22:46:28 +0300 Subject: [PATCH] Possibility to navigate to certain tab programmatically using activity method --- .../components/tabbarnavigation/BottomNavigationActivity.kt | 5 +++++ .../components/tabbarnavigation/BottomNavigationFragment.kt | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationActivity.kt b/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationActivity.kt index 84ae44d..6277153 100644 --- a/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationActivity.kt +++ b/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationActivity.kt @@ -1,5 +1,7 @@ package ru.touchin.roboswag.components.tabbarnavigation +import android.os.Parcelable +import androidx.annotation.IdRes import androidx.fragment.app.FragmentManager import ru.touchin.roboswag.components.navigation.activities.NavigationActivity import ru.touchin.roboswag.components.navigation.viewcontrollers.ViewControllerNavigation @@ -21,4 +23,7 @@ abstract class BottomNavigationActivity : NavigationActivity() { ?: getNavigationContainer(navigationFragment.childFragmentManager) } + fun navigateTo(@IdRes navigationTabId: Int, state: Parcelable? = null) = + (supportFragmentManager.primaryNavigationFragment as? BottomNavigationFragment)?.navigateTo(navigationTabId, state) + } diff --git a/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationFragment.kt b/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationFragment.kt index e9aef8d..debc3a7 100644 --- a/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationFragment.kt +++ b/tabbar-navigation/src/main/java/ru/touchin/roboswag/components/tabbarnavigation/BottomNavigationFragment.kt @@ -6,6 +6,7 @@ import android.util.SparseArray import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.annotation.IdRes import androidx.fragment.app.Fragment import ru.touchin.roboswag.components.navigation.activities.OnBackPressedListener import ru.touchin.roboswag.components.navigation.viewcontrollers.ViewController @@ -67,4 +68,8 @@ abstract class BottomNavigationFragment : Fragment() { private fun getNavigationActivity() = requireActivity() as BottomNavigationActivity + fun navigateTo(@IdRes navigationTabId: Int, state: Parcelable? = null) { + bottomNavigationController.navigateTo(navigationTabId, state) + } + }