Условная навигация в компоненте архитектуры навигации - PullRequest
0 голосов
/ 02 ноября 2018

Я использую единую архитектуру активности в своем приложении, а в одном из своих фрагментов я использую BottomNavigationView, как это.

<LinearLayout
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:tools="http://schemas.android.com/tools"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  tools:context=".ui.MainNavigationFragment">


<fragment
    android:id="@+id/main_nav_fragment_container"
    android:name="androidx.navigation.fragment.NavHostFragment"
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:layout_weight="1"
    app:defaultNavHost="true"
    app:navGraph="@navigation/tabs_nav_graph" />


<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottomNavigationView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:itemBackground="@drawable/bg_menu"
    app:itemIconTint="@color/menu_item_color"
    app:itemTextColor="@color/menu_item_color"
    app:elevation="10dp"
    app:menu="@menu/bottom_bar_menu"/>

и на стороне кода

class MainNavigationFragment : Fragment() {

override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
                          savedInstanceState: Bundle?): View? {
    // Inflate the layout for this fragment
    return inflater.inflate(R.layout.fragment_main_navigation, container, false)
}


override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)

    val host =  
childFragmentManager.findFragmentById(R.id.main_nav_fragment_container) as NavHostFragment

    host.navController.addOnNavigatedListener { controller, destination ->
        logd("Tab NavGraph:${destination.label}")

    }


    bottomNavigationView.setupWithNavController(navController = 
     host.navController)



}

и на моей 4-й вкладке я запускаю Фрагмент профиля и запускаю фрагмент входа в систему, если пользователь еще не вошел в систему, но как я могу вернуться, если пользователь не вошел в систему после перехода к фрагменту входа в систему, но когда я выскочил снова, запустите фрагмент входа в систему из-за состояние во фрагменте профиля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...