我是片段的新手,在理解某些概念时遇到了一些麻烦。目前,我正在处理两个片段,第一个是页面的用户界面,第二个是自定义列表视图。两个片段将同时显示在另一个之上。首先,用户可以选择日期,然后在数据库调用中使用该日期来获取该日期的列表项。
我首先要弄清楚的是,如何在两个打开的片段之间传递日期,并在第一个片段的日期发生更改时更新第二个片段。我希望我的问题很清楚。如果不是,我可以澄清一下。在此先感谢您的帮助。
我是片段的新手,在理解某些概念时遇到了一些麻烦。目前,我正在处理两个片段,第一个是页面的用户界面,第二个是自定义列表视图。两个片段将同时显示在另一个之上。首先,用户可以选择日期,然后在数据库调用中使用该日期来获取该日期的列表项。
我首先要弄清楚的是,如何在两个打开的片段之间传递日期,并在第一个片段的日期发生更改时更新第二个片段。我希望我的问题很清楚。如果不是,我可以澄清一下。在此先感谢您的帮助。
我不确定其他好的选择,但您绝对可以执行以下操作。
假设您有一个名为 A 的活动,它包含片段 b 和 c。您需要将数据从 b 发送到 c。
由于 b 和 c 都是活动 A 的子项,因此它们可以访问 A 的方法。A 也可以访问子片段 b 和 c。因此,要将信息从 b 传递给 c,请在 A 中创建一个方法,该方法会将信息传递给 c 并从 b 调用它。
更具体地说,有关此主题的更多信息,您可以查看官方文档。
因此片段可以访问 Activity 实例getActivity()
并轻松调用方法
getActivity().passInfoToC(data);
同样,您的活动可以通过使用 findFragmentById() 或 findFragmentByTag() 从 FragmentManager 获取对 Fragment 的引用来调用片段中的方法。例如:
ExampleFragment fragment = (ExampleFragment)getFragmentManager().findFragmentById(R.id.example_fragment);
fragment.setData(data);
然后访问一个方法来传递数据。