39

Android 開発者サイトには、インターフェースを使用して通信する方法に関する優れた記事があります。

  1. AFragmentとそのホスティングActivity
  2. Fragment同じによってホストされる2 つのActivity

この概念をネストされたフラグメントに適用するのに苦労しています。特に、getActivity()またはをホストしてFragment#onAttach(Activity)いるものを教えてください。ActivityFragment

ネストされたフラグメントの場合に相当するものは何ですか? 「子」は、Fragment自分がどの「親」Fragmentに含まれているかをどのように知ることができますか? そして、これを知らずに、子はどうやっFragmentて親にイベントを渡すことができるのFragmentでしょうか?

明らかな方法は、子からインテントをブロードキャストしFragment、親Fragmentにブロードキャストをリッスンさせることですが、私はむしろinterfaceベースのアプローチを使用したいと思います。

4

1 に答える 1

60

ネストされたフラグメントに対応するために導入されたgetParentFragment()メソッドがあることがわかりました。API 17 以降で使用android.app.Fragmentできますが、古いバージョンでは を使用して使用できますandroid.support.v4.app.Fragment

この API を見落としていたなんて信じられません。

編集:

私は、親コンポーネント (または) を簡単に、エレガントに、そして安全に把握するこのプロセスを実現するこの要点に出くわしました!FragmentActivity

于 2013-02-12T12:17:32.967 に答える