我正在使用带有两个片段的SlidingPaneLayout ......
在左侧,我显示了一些一般信息,在右侧显示了所有其他信息......
如果我使用默认方式,通过意图将数据提供给片段,我必须保持两个片段之间的数据同步。
那么通过父活动共享数据有哪些缺点?有吗?或者他们为什么不应该这样做?
为什么不在片段中使用以下内容:
Data d = ((ParentActivity) getActivity()).getSharedData()
而不是
Intent intent = getActivity().getIntent();
Data d = (Data)intent.getExtras().getSerialisable("sharedData");
答案 0 :(得分:0)
不要将Activity转换为已知的自定义Activity,而是让Activity实现一个接口,并在Fragment附加到Activity时将其强制转换为该接口。
这样,Fragment不会绑定到Activity,只要它提供了接口,就可以在另一个Activity中重用。
这是谷歌推荐的方式:
http://developer.android.com/guide/components/fragments.html#EventCallbacks