2011-07-15 22 views
6

私は既にAndroidでフラグメントを作成する方法を知っています。ボタンのクリックイベントで、同じフラグメント内の別のアクティビティを開きたいとします。ボタンはフラグメントクラス内にあります。別のフラグメントからアクティビティを呼び出す方法

どうすればよいですか?

+0

または[result-receiver](http://developer.android.com/reference/android/os/ResultReceiver.html) – Viren

答えて

2

何が必要に応じて2つの可能性があります。

  • Fragment Receive Result断片から新しい活動を開始し、戻ってからの結果を受けて示しています。
  • setTargetFragmentは、このフラグメントが別のフラグメントによって開始されている場合や、完了した結果を最初のフラグメントに戻したい場合などに使用できます。使用可能な例here
0

すべてのフラグメント間通信は、関連付けられたアクティビティを介して行われます。 2つのフラグメントは決して直接通信するべきではありません。私はAlexLockwoodさんのコメント@好き2013年4月

:ここ

は例

EDITといくつかのチュートリアルです。

1つのフラグメントが別のフラグメントを開始する場合は、setTargetFragment(Fragment, int)を使用して、getTargetFragment()と直接通信しても問題ありません。アクティビティを通してフラグメントと通信することは、通常、あなたのフラグメントを互いに疎結合した状態に保つため、良い考えです。

+0

これは通常は当てはまりますが、一方のフラグメントが別のフラグメントを開始する場合'setTargetFragment(Fragment、int)'を使い、 'getTargetFragment()'を呼び出すことで直接通信するのもいいです。アクティビティを通してフラグメントと通信することは、通常、あなたのフラグメントを互いに疎結合した状態に保つため、良い考えです。 –

+0

@AlexLockwood、ありがとうございます。私は理解した。 –

関連する問題