android-architecture-navigation相关内容

导航抽屉和底部导航菜单类别依赖项-导航体系结构组件

我正在尝试使用底部导航的导航抽屉,每个视图都有自己的菜单资源集。 但是,当Settings片段从导航抽屉中启动,并且我在底部导航中的第二个选项卡(Account)选项卡上时,我看到back button出现奇怪的行为。 见下图: 按Settings片段上的back or up按钮,返回到Home片段,而不是返回到Account标签。 为什么会这样? 我注意到的一件事是如果我 ..

如何在一个活动中拥有多个navHostFragment?

我希望在一个活动中有三个navHostFragments,它们都占用相同的空间,但每个都承载不同的导航图。然后使用片段管理器和底部导航栏,我希望在需要时显示每个片段(并隐藏其他片段),这样就可以保持用户在每个图形中的当前位置。 我当前在尝试在一项活动中包含3个成员时遇到问题,我收到以下错误: Caused by: java.lang.IllegalArgumentException: ..

当用户按下导航组件中的后退按钮时,如何退出应用程序?

我正在尝试实现此方案。我有一个带有登录按钮的登录屏幕。当用户单击按钮并通过身份验证时,我将用户发送到配置文件屏幕。当用户点击后退按钮时,问题就出现了。而不是现有的应用程序,它返回到登录屏幕,这是不好的。如果我有活动,在进入配置文件活动时,我会在登录活动中调用finish(),当用户按下Back时,它会退出应用程序。如何使用导航执行相同的操作? 推荐答案 您需要清除导航堆栈。你可以用很多 ..

升级Android Gradle插件7.1后无法加载类AndroidComponentsExtension

我最近下载了Android Studio Bumblebee,它很有帮助地询问我是否想升级到Android Studio Bumblebee附带的Android Gradle插件7.1.0版本。 升级后,我收到生成错误: Unable to load class 'com.android.build.api.extension.AndroidComponentsExtension'. ..

来自 viewpager2 和我的父片段的 SharedViewModel

所以,我有一个片段,我们称之为片段 A,我需要它作为我的 sharedviewmodel 的主要宿主. 所以我是这样的 class FragmentA:Fragment() {私有验证模型:viewModels() 的 SharedViewModel} 现在,在 Fragment A 中,我设置了 viewpager2 适配器 私人乐趣 setupViewPagerWithTabLay ..

具有两个选项卡的 ViewPager 在滑动和单击时会导致 IndexOutOfBoundsException

我有两个选项卡,我在其中添加了两个不同的数据列表,两个选项卡共享一个 recyclerview,所以在我的 viewpager 适配器上,我只需创建一个新实例来填充数据 从视图 val allProducts = completeProductListval productsList = mutableListOf()val DrinkList = mutableListOf ..

使用导航图范围注入视图模型:在 onCreate() 之前 NavController 不可用

我在我的应用程序中使用了导航组件,并且还在同一图中的多个片段之间使用了共享 ViewModel.现在我想用 this 用这个图范围实例化 ViewModel. 如您所知,在片段 我们应该在 onAttach: 但是当我想这样做时(在 onAttach 中注入具有图形范围的 ViewModel),就会出现这个错误: IllegalStateException: NavControlle ..

如何在导航组件的起始目的地处理后退按钮

我已经开始使用新的导航组件,而且我真的很在意它!不过我确实有一个问题 - 当我处于图表的起始目的地时,我应该如何处理后退按钮? 这是我现在使用的代码: findNavController(this, R.id.my_nav_host_fragment).navigateUp() 当我在图表上的任何位置时,它都运行良好,它会将我送回,但是当我在它的开始时 - 由于 backstack 为空 ..

导航架构组件 - 新资源对话框没有导航图的导航资源类型

即使在添加导航架构组件依赖项后,新资源对话框也没有导航图的导航资源类型 def nav_version = '1.0.0-alpha01'实现“android.arch.navigation:navigation-fragment:$nav_version"实现“android.arch.navigation:navigation-ui:$nav_version" 解决方案 确保您选中了设置 ..

如何将视图模型范围限定为父片段?

所以我正在使用新的导航组件(具有一个活动原则)并使用共享视图模型在每个片段之间进行通信,但是,我已经到了有时需要清除视图模型的地步,但我可以找不到清理它的好地方.但是 tbh 我认为与其试图自己清除它,我真的应该允许框架为我做这件事,但这不是因为视图模型是共享的并限定于活动,但我认为我可以将它们限定为一个父片段,我画了一张图来说明我想要做什么. 所以我只想在我当前从“Child 1 Child a ..

如何使用 Android 导航组件实现从 RecyclerView 项目到 Fragment 的共享过渡元素?

我有一个非常简单的案例.我想在 recyclerView 和 fragment 中的项目之间实现共享元素转换.我在我的应用程序中使用了 android 导航组件. developer 上有一篇关于共享转换的文章.android 和 stackoverflow 但此解决方案仅适用于位于开始转换的 fragment 布局中的视图,不适用于 RecyclerView 中的项目.github 上也有 ..

Android Navigation 库深度链接:如何合成backstack

使用 Android 架构的导航组件,我有以下内容导航图 ->[主页] ->[文章列表] ->[具体文章] 我还有一个指向 [Specific Article] 的深层链接.当它打开时,向上导航当前转到 [Home]. 我想合成一个 backstack,以便向上导航而不是返回到 [文章列表](如果再次导航,则返回到 [Home]). 这样做的导航方式是什么? 解决方案 ..

Android 导航组件弹出到转换问题

我有两个动作 动作1 我想要的是当第二个动作被触发时,我想清除返回堆栈并只设置 loginFragment 以保留在堆栈中. 只有一个问题是当我执行 Action2 时,'slide_out_right' 作为退出动画执行 我知道如果我们从堆栈中弹出片段,将触发 action1 的 'popExitAnim' 而不是 action2 的 'exitAnim'. 但我 ..

如何同时使用导航抽屉和底部导航 - 导航架构组件

我有如下屏幕,在同一屏幕上包含导航抽屉和底部导航: 我正在使用 Jetpack 导航架构组件. 当前问题和我尝试了什么? 点击第二个和第三个底部导航项在工具栏上显示后退箭头? 尝试过:将与第二和第三底部导航相关的片段设置为顶级目的地 appBarConfig = AppBarConfiguration(setOf(R.layout.fragment_star, R.lay ..