0

質問はタイトルにあります。通常のアクティビティでは、次を使用します:

配列を送信するには:

b.putParcelable(Activity.EXTRA_ARRAY, xy);
i.putExtras(b);
startActivity(i);

配列を取得するには:

Bundle b = getIntent().getExtras();
Array... xy = b.getParcelable(xy);

これをフラグメントクラスで使用するには? このインテントの送受信。

前もって感謝します。

4

1 に答える 1

9

バンドルを取得するための 3 つの異なるシナリオがあります。

  1. Bundle 引数を使用してフラグメントを初期化するmyfragment.setArguments(mybundle);場合は、最初にフラグメントを作成するときに使用する必要があります。

  2. アクティビティに渡されたインテントをフラグメントで使用する場合は、次を呼び出すことができます。

    getActivity().getIntent()

  3. フラグメントだけがインテントをインターセプトするようにしたい場合は、LocalBroadcastManager を使用してフラグメントを登録する必要があります。
    このセットアップの作成方法については、こちらを参照してください: LocalBroadcastManager の使用方法?

于 2013-03-05T05:16:23.683 に答える