8

developer.android.comでAndroid フラグメントを学習している間、2 つのフラグメント間の直接通信は推奨されないことが指定されています。結果がどうなるか、2 つのフラグメント間の通信が失敗するケースを知りたいですか?

4

2 に答える 2

9

フラグメントの場合、通信時にフラグメントが生きていて接続されているかどうかは常にわかりません。Fragments がアタッチされていて使用できるかどうかは、デバイスのレイアウトやサイズによっても異なります。Fragments がアクティビティにアタッチされ、同時に使用できることが確実にわかっている場合は、直接通信できると思います。

そうは言っても、フラグメントは論理的なスタンドアロンのユニットであることを意図しています。ドキュメントから:

You can think of a fragment as a modular section of an activity

フラグメントが互いに直接影響している場合、モデルが壊れます。

Activity でインターフェイスを定義し、Fragment A に Activity のメソッドを呼び出させてみませんか? 次に、アクティビティはフラグメント B が使用可能かどうかを確認し、フラグメント B で適切な関数を呼び出すことができます。

ここにドキュメントの提案があります

于 2012-07-20T06:25:42.987 に答える
2

Fragment は、それ自体を描画する以上のことを行う単なる UI コンポーネントです。この質問の範囲では、ビューと違いはありません。

したがって、非常によく似た質問は次のようになります: なぜ 2 つのビューは互いに直接通信できないのでしょうか?

于 2012-07-20T06:35:19.107 に答える