アクションバーとフラグメントを使用してタブインターフェイスを構築しています。コンテナアクティビティからフラグメントにデータを送信する際に支援が必要です。
詳述すると、コンテナアクティビティにジョブオブジェクトがあります。また、ジョブオブジェクトの情報(会社の詳細、経験の詳細など)に基づいて、いくつかのタブを作成しました。それぞれの情報を表示できるように、これらのフラグメントにジョブオブジェクトを渡す必要があります。
コンテナアクティビティとタブフラグメントを作成しました。オブジェクトをそれらに渡す方法の例が必要になります。 intent.putExtraを使用できません。フラグメントから親コンテナのオブジェクトにアクセスできますか?
どんな助けでもありがたいです。
ありがとう。
アクティビティでメソッドを作成します。たとえば、getJob
オブジェクトとその情報を返すJob
_MyActivity extends Activity{
Job mJob;
public Job getJob(){
return this.mJob;
}
}
_
次に、フラグメントでこれを行います。
_MyFragment extends Fragment{
@Override
public void onActivityCreated(){
super.onActivityCreated();
((MyActivity)this.getActivity()).getJob();
}
}
_
getActivity
とメソッドgetJob();
を使用してオブジェクトを取得します
これを達成する方法は複数あります。
static
変数を作成してデータを保持し、フラグメント内からそのデータにアクセスします。これは最も高速ですが、不適切に使用するとデザインパターンが悪くなります。Fragment-to-Fragment communication possible through the parent Activity
の方法はここに掲載されています: http://developer.Android.com/training/basics/fragments/communicating.html サンプルコードを使用してActivity - Fragment data send
。a way to avoid using static data
(1。)に言及し、ActivityGroup
を使用したソースコードの例が含まれています「最初のアクティビティを静的に参照せずに、その値にアクセスする必要がある場合は、アクティビティをActivityGroupに入れることを検討できます。」
あなたが選ぶのはあなたの好みです、これらはほんのいくつかのオプションです!