gpt4 book ai didi

android - 如何在导航架构组件中实现条件导航

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:07:37 25 4
gpt4 key购买 nike

在新的Navigation架构组件中,如何实现条件导航?

目前,我有一个使用 LoginFragment 和 HomeFragment 的 Activity 。基于某个 login_flag,我曾经从 MainActivity 调用任一 fragment 。由于 LoginFragment 仅被调用一次,我已将 startDestination 设置为 HomeFragment 并且 Navigation 加载了该 HomeFragment。有什么方法可以在导航加载 HomeFragment 之前检查 login_flag。

最佳答案

这就是我处理conditional navigation的方式:

  1. 将 HomeFragment 设置为 start destination
  2. 创建 global action对于登录 fragment

    <action
    android:id="@+id/action_global_loginFragment"
    app:destination="@id/loginFragment"
    app:launchSingleTop="false"
    app:popUpTo="@+id/nav_graph"
    app:popUpToInclusive="true" />
  3. onViewCreated 中执行条件导航:

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

    if(!appAuth.isAuthenticated()) {
    view.findNavController().navigate(R.id.action_global_loginFragment)
    }
    }

关于android - 如何在导航架构组件中实现条件导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50493988/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com