java - 转到最近使用的内容并返回时显示错误的 fragment

标签 java android

我有一个 Activity A,它启动一个 fragment F,然后该 fragment 被另一个 fragment F2 替换。

A -> F -> F2

如果我位于 F2,按“最近使用”按钮,然后返回应用程序,我预计它仍会显示 F2,但它会显示 F。

我正在使用以下代码替换 fragment :

FragmentManager fragmentManager = activity.getSupportFragmentManager();
                fragmentManager.beginTransaction()
                        .replace(container.getId(), StoryFragment.newInstance(story)).addToBackStack(null).commit();

我用不同的 fragment 对此进行了测试,结果发现问题出在 fragment 之间。不管它们是哪个 fragment ,如果有一个 fragment 用另一个 fragment 替换了自己,那么我就会遇到这个问题。例如, A -> F2 -> F3 在应该显示 F3 的时候会显示 F2。

我尝试向 onSaveInstance 和 onPause 添加内容,但没有成功。如有任何帮助,我们将不胜感激。

最佳答案

原来问题是我不小心添加的 android:noHistory="true" 在 android list 中,用于我用来启动 fragment 的 Activity 。删除它解决了我的问题。

关于java - 转到最近使用的内容并返回时显示错误的 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55876977/

相关文章:

java - 如何与 firestore 分开读取集合

android - 为什么一些包私有(private)类没有被 Proguard 混淆?

android - sw720dp 和 xlarge 布局文件夹区别

android - 以编程方式创建按钮或在 xml 中创建按钮之间是否存在性能差异?

java - 在 Ubuntu 12.04 服务器和 Eclipse EE : servlet won't run a class file 上使用 Tomcat 7

java - 通过ppk文件和用户名连接cassandra

java - 是否有一些基于 AWT 的 GUI 测试框架?

java - ChangeListener ObservableMap "oldValue"是 newValue 的副本

java - 每个窗口只打开一次

java - 安卓/Java : For loop preventing array from being called