0

私は2つのフラグメントを持つSlidingPaneLayoutを使用しています...

左側にはいくつかの一般的な情報が表示され、右側にはその他のすべての情報が表示されます...

インテントを介してフラグメントにデータを渡すデフォルトの方法を使用する場合、2 つのフラグメント間でデータの同期を維持する必要があります。

では、親アクティビティを介してデータを共有することの欠点は何ですか? ありますか?それとも、これを行うべきではない理由はありますか?

フラグメントで以下を使用しない理由:

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

それ以外の

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

1 に答える 1

0

アクティビティを既知のカスタム アクティビティにキャストするのではなく、アクティビティにインターフェイスを実装させ、フラグメントがアクティビティにアタッチされたときにそれにキャストします。

このように、フラグメントはアクティビティにバインドされず、インターフェイスを提供する限り、別のアクティビティで再利用できます。

これは Google が推奨する方法です。

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

于 2013-09-03T10:10:08.620 に答える