2

我有一个广泛使用片段的活动。

通常的流程是:

片段A -> 片段B -> 片段C -> 片段D

有时我会直接从D回到B

int id = getFragmentManager().getBackStackEntryAt(1).getId();
getFragmentManager().popBackStack(id, 0);   

它工作正常。但是,我的 Activity 中没有对 Fragment B的任何引用。

发送我刚刚在 Fragment D中获得的 Fragment B数据的最佳方式是什么?

4

1 回答 1

8

片段是可重用的、独立的 UI 组件。他们通常不应该相互了解。为了与关注点分离的设计原则保持一致,您应该拥有某种底层数据对象,片段可以对其进行操作以保存数据。

父 Activity 可以传递对此数据结构的引用,或者它可以以某种方式成为全局可访问的对象(这个问题足够抽象,无法提供具体的响应)。

于 2013-10-15T23:38:25.073 回答