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