【发布时间】:2014-04-06 22:46:27
【问题描述】:
在开始之前,我已经阅读了this、this 以及更多在线文章。我仍然无法找到正确的方法。
所以我的应用中只有 一个活动,以及 6 个片段。第一个是ListFragment,它从 SQLite 表中加载列表。当用户点击此列表中的一行时,我会做两件事:
1) 通过侦听器从该行获取 int,并将其传递回父 Activity,父 Activity 使用简单的 setter 方法将其存储为类变量。
2) 用另一个简单的Fragment 替换这个ListFragment。这个新的 Fragment 在该类变量上使用一个简单的 getter() 从不同的表中检索一些信息,并向用户显示所有详细信息。
到目前为止一切顺利。现在,如果我在此详细信息片段上,并且我更改了屏幕方向,则不会重新加载活动状态(因为我正在检查 onCreate() 中的 savedInstanceState 是否为 null),但是,类变量失去了它们的价值,我的应用程序崩溃了。
基本上我正在尝试将数据从 ListFragment 传递到 details Fragment。我正在通过导致问题的活动来完成它。根据 Android 文档:
所有 Fragment 到 Fragment 的通信都是通过关联的 活动。两个 Fragment 永远不应该直接通信。
没有给我带来麻烦的特定代码,所以没有发布任何代码。
【问题讨论】:
标签: android fragment communication state screen-orientation