0

「他のフラグメントとの通信」を読んでいます

それは書いています:

Fragment がその Activity と通信できるようにするには、Fragment クラスでインターフェイスを定義し、それを Activity 内に実装します。Fragment は onAttach() ライフサイクル メソッド中にインターフェイスの実装をキャプチャし、Activity と通信するために Interface メソッドを呼び出すことができます。

私の質問は次のとおりです。

インターフェイスを使用するのではなく、フラグメントが関連するアクティビティのメソッドを直接実装しないのはなぜですか? Fragment とそれに関連付けられた Activity の間のメディアとしてインターフェイスを使用する利点は何ですか?

たとえば、コミュニケーションの別の方法として、Fragment クラスの onListItemClick() で、mCallback.onArticleSelected(position) ではなく activity.onArticleSelected(position) を直接使用することができます。

4

1 に答える 1

0

場合によっては、フラグメントがアクティビティとの関連付けを失う可能性があります。ファイル チューザーを使用しているときに、特別な例外に遭遇しました。この場合、フラグメントに従ってアクティビティを見つけることができません。フラグメントの onAttach() Taclifecycle。

于 2014-02-19T04:36:50.960 に答える