2016-04-18 10 views
0

私のfragment2クラスには学生の配列があり、私は自分のアクティビティクラスから配列を取得したいと思います。フラグメントクラスからオブジェクトを取得する

マイアクティビティクラスはAppCompatActivityがCommunicatorを実装して拡張します。ツールバーを使用しているので、AppcompatActivityを拡張する必要があります。

Activityクラスは、フラグメント1の間の通信を処理し、2。誰もがこれを行う方法上の任意の解決策を持っていますか?

+0

したがって、フラグメント内のアクティビティにある配列にアクセスしたいのですか?または、フラグメントのアクティビティの配列にアクセスしたいのですか? –

+0

いいえフラグメント2に配列があり、アクティビティからアクセスしたい – CookieMonster

答えて

0

は、あなたの活動によって実現され、あなたのフラグメントのインターフェイスを定義します。 Fragment UIコンポーネントを再利用するために

詳細情報Here

0

、あなたは独自のレイアウトと動作を定義し、完全に自己完結型、モジュラーコンポーネントとしてそれぞれを構築する必要があります。

ActivityFragment秒のコンテナとして機能することができます。だから、別のFragmentに何かを渡す必要があるFragment 1つが、それが今度は他のFragmentにそれを渡すことができActivity、にそれを渡すことができます。

これを行う理想的な方法は、Fragmentに定義されたコールバックインターフェイスを持ち、Activityに実装することです。 Fragmentでは、配列または項目を渡すコールバックメソッドの1つを呼び出します。メソッドの実装では、Activityでは、それを消費/他のFragmentに渡すことができます。

さらに詳しい情報はFragment - Activityです。hereです。

0

あなたがホスティング活動からのフラグメント内のオブジェクトにアクセスしようとしている場合は、通常の活動の内部フラグメントへの参照を保持し、フラグメント上で直接「getメソッドを呼び出します。

リバース(フラグメント>アクティビティ)の場合、アクティビティにはある種のインターフェイスが実装され、フラグメントのメソッドの中にアクティビティ(またはコンテキスト)がインターフェイスにキャストされます。onAttach()

+0

フラグメント1はedittextの名前を追加します>アクティビティは名前をF2に渡します>フラグメント2は配列に名前を追加し、リストビューに名前を表示します。フラグメント2から配列を取得したいので、最善の解決策は、自分のアクティビティクラスにfragment2のインスタンスを作成して配列を取得することでしょうか?それは配列を得るだろうか? – CookieMonster

+0

私はあなたがインターフェイスを使用する必要がありますと信じています。アレイが準備されたら、それをアクティビティに渡すだけで、アクティビティがそこから処理できます。 – RScottCarson

関連する問題