0

我正在使用带有两个片段的 SlidingPaneLayout ...

在左侧,我显示了一些一般信息,在右侧显示了所有其他信息......

如果我使用默认方式,通过意图将数据提供给片段,我必须保持两个片段之间的数据同步。

那么通过父Activity共享数据有哪些弊端呢?有吗 还是他们不应该这样做的原因?

为什么不在片段中使用以下内容:

Data d = ((ParentActivity) getActivity()).getSharedData()

代替

Intent intent = getActivity().getIntent();
Data d = (Data)intent.getExtras().getSerialisable("sharedData");
4

1 回答 1

0

与其将 Activity 转换为已知的自定义 Activity,不如让 Activity 实现一个接口,并在 Fragment 附加到 Activity 时将其转换为该接口。

这样,Fragment 就不会绑定到 Activity,只要提供接口就可以在另一个 Activity 中重用。

这是谷歌推荐的方式:

http://developer.android.com/guide/components/fragments.html#EventCallbacks

于 2013-09-03T10:10:08.620 回答