问题标签 [android-architecture-navigation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Android 架构导航 - onSupportNavigateUp()
finish()
在使用导航库时,可以用in完成内部活动onSupportNavigateUp()
吗?或者我们应该使用从堆栈NavController
中删除它?Activity
而且,我无法使用 NavController 删除Activity
.
我的导航图如下所示:
我尝试使用如下:
(i) 在 DetailActivity 中使用 NavController
但得到例外,
java.lang.IllegalArgumentException:NavController 回栈为空
(ii) 在 BaseActivity 中使用 NavController
那也行不通。我做错了吗??
android - 为什么android.arch.navigation会导致程序类型已经存在:android.support.v4.os.ResultReceiver$1?
我正在使用 Android Studio 版本
在调查新的建筑导航组件 android.arch.navigation 时,我遇到了这个构建失败。
我的应用程序 gradle 构建类似于:-
和项目级 gradle 构建:-
我已经尝试重构到 AndroidX,但是我收到一条消息,指出在项目中找不到任何用法,那么为什么仍然提到这个“v4”类?
android - 查找 NavHostFragment Jetpack Navigation Android 时出错
我正在使用 Jetpack Navigation 来处理 Fragments 的导航。遵循文档后,当我运行应用程序时,出现以下错误。
构建.gradle
托管 NavHostFragment 的 Activity 的代码
}
活动的 XML 文件
我已经正确实现了导航图。此外,该项目被重构为 AndroidX。
android - Proguard 导致 Android 导航组件运行时异常
android.arch.navigation:navigation-fragment-ktx:1.0.0-alpha01
在将 NavigationComponent ( ) 集成到我的项目中并编译 27 的 sdk 后,我在使用 proguard 时遇到了这个崩溃
可能是因为 AAPT 还没有为导航组件生成保留规则?
android - 使用新导航组件处理 Android onBackPressed
我需要一些建议;
我正在试验导航库。我有一个有 webView 的片段。我想检查它canGoBack
是否可以,如果可以就这样做,否则不干涉。
1. 接口方法:由于 Navigation 正在处理事务,我不再手动创建片段的实例,我可以将其分配为活动中的侦听器。
1.重点听:我真的觉得它看起来很丑,我不认为这是一个通用的解决方案,所以我跳过了这个。
我需要一些关于如何使用导航库完成的意见。当您尝试从中获取currentDestination
时navController
,它是NavigationDestination
提供有关当前片段信息的对象,例如 xml 中给出的标签。
当我检查时fragmentManager
,我看到它backStack
是空的,并且片段交易发生在没有标签的情况下。
恕我直言,它不适合库的概念来进行findFragment
某种操作以与当前片段进行某种交互,但我目前似乎无法找到解决方法。有什么建议么 ?
android - Jetpack Navigation:NavHostManager 不是 FragmentManager 的活动片段
我正在使用 Jetpack Navigation 来处理 Fragments 的导航。
我一直在关注文档并安装了所需的组件,但在尝试显示托管 NavHost 片段的活动时,应用程序仍然崩溃
例外:
主要活动布局
主要活动 - Kotlin
我正在尝试测试 JetPack 功能,而我目前被困在这个功能上,有人知道可能出了什么问题吗?是因为 Android 3.2 仍在预览中吗?任何帮助将非常感激..
android - 如何获取由 NavHostFragment(导航架构组件)加载的片段(SupportMapFragment)的引用
我正在试用 google IO 2018 会议中介绍的导航架构组件。我正在尝试制作一个包含三个选项卡的应用程序,每个选项卡一个片段。在其中一个中,我想使用 Google Maps API 放置地图。通常您应该在 Activity 的 OnCreate 中执行此操作
R.id.map is
SupportMapFragment
内部的idmain_activity.xml
然而,导航架构组件设置略有不同。
main_activity.xml
仅包含一个NavHostFragment
(加载每个屏幕的片段的位置)和一个BottomNavigationView
在应用程序的不同目的地之间移动的。
我的导航图看起来像这样
如您所见,第一个和第三个选项卡有两个startFragment
片段endFragment
。在第二个中SupportMapFragment
,我试图参考。我不能使用标准getSupportFragmentManager().findFragmentById(int id)
方式,因为main_activity.xml
只包含一个NavHostFragment
我尝试尝试getChildFragmentManager()
但没有太大成功。我也试过navController.getCurrentDestination()
,但它返回一个NavDestination
我不能用来检索加载的片段的对象。
我发现的唯一解决方案是SupportMapFragment
直接添加,activity_main.xml
使其与导航图完全分开,但这比解决方案更像是一种解决方法,因为当用户位于另一个屏幕时,我必须手动处理显示和隐藏地图。
如果有人知道正确的解决方案,请分享。
android - 导航架构组件 - 活动
我一直在关注Navigation Architecture Component的文档,以了解这个新导航系统的工作原理。
要从一个屏幕返回/返回另一个屏幕,您需要一个实现NavHost
接口的组件。
NavHost 是一个空视图,当用户在您的应用程序中导航时,目的地会被换入和换出。
但是,目前似乎只有 Fragments 实现NavHost
导航架构组件的默认 NavHost 实现是 NavHostFragment。
所以,我的问题是:
即使我有一个可以用 a 实现的非常简单的屏幕,
Activity
为了使用这个新的导航系统,Fragment
是否需要托管包含实际视图的 a?会在不久的将来
Activity
实现接口吗?NavHost
- 更新 -
根据 ianhanniballake 的回答,我知道每个活动都包含自己的导航图。startActivity
但是,如果我想使用导航组件(替换“旧”调用)从一项活动转到另一项活动,我可以使用activity destinations
. 我activity destinations
不清楚什么,因为迁移文档没有详细说明:
然后可以通过将活动目的地添加到导航图来链接单独的活动,从而替换整个代码库中 startActivity() 的现有用法。
- 使用
ActivityNavigator
而不是有什么好处startActivity
吗? - 使用导航组件时,从活动中走出来的正确方法是什么?
android - 使用 Android Jetpack 从导航抽屉导航
我正在尝试在我的 android 应用程序上实现喷气背包导航。我创建了一个导航图,如下所示:
和导航抽屉菜单xml,如下所示:
根据android开发者网站中的文档,这里
为菜单项提供与片段或目的地相同的 id 应该足以确保单击菜单项会将我导航到指定的片段。这似乎不起作用,我错过了什么吗?