问题标签 [android-navigation-graph]
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导航组件导航到上一个片段
我正在使用导航组件来浏览我的应用程序中的页面。
我有一个 ProfileFragment,用户可能会从不同的片段(如 HomeFragment、ArticleFragment 和...)导航到这个片段。
在我的 ProfileFragment 中,我应该如何知道在用户打开 Profile 之前将其导航到上一页的位置。当用户按下后退按钮时,我应该如何检测正确的操作。
在我的片段工具栏中,我也有一个箭头(ImageButton)用于导航到上一页。我应该如何在它的 onClickListener 中处理它?
java - 导航到上一个片段并销毁当前片段
我已经使用导航图实现了许多片段。考虑我有 A-> B-> C-> D 其中 A、B、C、D 是按实现顺序排列的片段。现在我在片段 D 上,我想通过单击 D 中的按钮移动到片段 C。我该怎么做?此外,当我到达片段 C 并按下后退按钮时,它应该将我带到片段 B。我想实现到前一个片段的导航并销毁当前片段。即从 D 移动到 C 并摧毁 D(不希望它按下后退按钮)。
android - 使用 android 导航 safeArgs 时的许多参数
我在 android 中创建导航图,并为目的地提供 args,但是当我调用该函数时,它说的参数太多。
已经在 build.gradle (app) 上设置
apply plugin: 'androidx.navigation.safeargs'
已经在 build.gradle (.)
dependecies { classpath "android.arch.navigation:navigation-safe-args-gradle-plugin:1.0.0-alpha05" }
这是我的导航来源
- 这是我导航的目的地
- 这是我的导航源的 kotlin 代码
当我在未使用的 gameFinished 函数中调用它时,GameFragmentDirections.actionGameFragmentDestinationToScoreFragment(score)
它对很多参数说,知道如何解决吗?
android - 单击导航图的后退按钮时如何显示吐司
在片段中,每当我单击导航图中提供的后退按钮时,应用程序就会崩溃。
我真正想要实现的是显示一个对话框,它会说是,然后将移动到上一个片段,如果它说不,那么留在当前片段上。但是现在我正试图显示也不起作用的吐司。请帮忙
我用来处理这个后退按钮的代码是:
错误
android - 通过 navGraphViewModels 创建 java.lang.IllegalArgumentException: 没有 ID 的目的地在 NavController 的后台堆栈上
当发生配置更改并因此重新创建我的 Activity 和 Fragment 时,我的导航 Graph 范围内的 ViewModel 不可用,而 Fragments 已经被再次创建。
似乎在 navGraph 之前重新创建了 Fragment。
我正在使用此代码从我的 Fragment 初始化我的 navGraph 范围 ViewModel:
如果我尝试myViewModel
在 FragmentsonViewCreated
功能中使用,我会IllegalArgumentException
在配置更改后得到一个。例外:
我该如何处理?
编辑1:
这是我的 activity_main.xml
这是我的 main_nav_graph.xml:
android - 使用 NavController 时如何返回到上一个片段?
我正在使用导航图在 Android 上导航 Fragments。目前,我可以从一个片段转到另一个片段并在后按时返回。
现在我需要返回 OnClickListener 中的前一个 Fragment,该 Fragment 嵌入在托管 Fragment 的 Activity 中托管的 FloatingActionButton 中,而不是后按。
目前,以下代码将我一直带到开始片段:
我也尝试过 getActivity().onBackPressed();
,这也让我回到了开始的片段。
怎么回到之前的Fragment?我正在尝试按照本指南将 数据传递到起始目的地,以将 Bundle 返回到起始目的地,但它忽略了如何返回起始目的地。
我还考虑过创建另一个动作来返回开始目的地,但是后退按钮会返回到错误的 Fragment。有没有办法阻止它?
android - 使用 NavController 时,如何将数据从目标 Fragment 的 FloatingActionButton 的 OnClickListener 传递到起始 Fragment?
我正在尝试在使用 NavController 时将数据从目标 Fragment 的 FloatingActionButton 的 OnClickListener 传递到起始 Fragment。FloatingActionButton 位于托管所有片段的活动中。
目前,我可以像这样从 FloatingActionButton 的 OnClickListener 返回上一个 Fragment:
不过,我想将该 Bundle 发送到起始片段。此处的文档,将数据传递到起始目的地,例如设置新图形并添加捆绑包。不过,这会破坏后台堆栈。即使我这样做:
这让我回到了开始片段。我该如何处理?
我是否应该从目标开始执行一个动作并传递另一个值,然后两次弹出回栈?
android - 导航组件:如何在每个片段中设置带有工具栏的抽屉
我正在使用导航组件,并希望将抽屉布局与每个片段中的工具栏连接起来,而不是活动。
我尝试了这个在 onViewCreated() 上调用的答案,但是从活动中引用的任何视图都是空的。我猜这是因为片段在从活动的 onCreate 方法返回之前在布局中膨胀。
我使用此扩展函数将抽屉与片段的工具栏连接起来,我尝试从 onCreateView() 和 onViewCreated() 调用它,但没有工作,并且活动的抽屉布局始终为空。我只在从 onStart() 调用它时才工作,但我认为这不是正确的方法:
调用此函数的正确位置是什么?