java - 如何从 Activity 的 fragment 返回到 viewpager 中的 fragment

标签 java android

我在 MainActivity 中有一个包含 2 个 fragment (A 和 B)的 viewpager。在 viewpager 的 fragment 中,我为每个包含项目列表的 fragment 都有一个 recyclerView。当我单击 fragment viewpager 的项目时,它会显示一个新的 Activity,上面有一个新的 fragment (C)。但是当我按下工具栏上的后退按钮时,它总是返回到 MainActivityviewpager 的 fragment A,即使我点击 fragment B 的项目也是如此。

androidManifest.xml 中,我将 "parentActivity: MainActivity" 添加到新 Activity。如果我不设置它,后退按钮将不会响应。 当我按下后退按钮时,我需要帮助才能返回到正确的 fragment 。

感谢所有的回答。

最佳答案

非常简单。在加载 viewpager 和 fragment 的 Activity 中保留一个索引变量。当您切换到另一个 Activity 时,通过此 Activity 方法执行此操作,并使用

在 vi​​ewpager 中使用当前选定页面/fragment 的索引更新该变量

getCurrentItem

此方法将返回您可以存储的索引,然后有两个选项供您选择:如果您知道您的 Activity 将从该 Activity 中恢复,那么您可以在 onResume 中编写以下方法:

setCurrentItem

否则您可以选择 startActivityForResult 并实现相同的目的。如果有任何疑问,请告诉我。

关于java - 如何从 Activity 的 fragment 返回到 viewpager 中的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54778758/

相关文章:

java - 我的第一个应用程序教程 "Unfortunately My First App has stopped."

android - 我可以在 Android 上使用最新的 BouncyCaSTLe 提供程序吗?

java - 当某些线程执行其任务时,阻止特定线程参与线程调度程序

java - 如何在java中的if-else循环和removeAll中使用迭代器?

android - Android Listview中重叠文本和图像的图层顺序

android - 没有谷歌播放服务的 AdvertisingIdClient

java - Android 中的 XML 解析器

java - 不能显示多个错误消息。 Java 小服务程序

java - IOException :cannot run program:CreateProcess error=193, %1 不是有效的 Win32 应用程序

android - ArrayAdapter 的 getView() 方法没有被调用