FragmentとActivity/fragmentのデータ転送

1359 ワード

Activity ---> Fragment


1.Bundleの設定
  • Activityでは、次のように設定します.
  •  Bundle args = new Bundle();  
     args.putString("name", name);
     BaseFragment fragment = new CollectionFragment();
     fragment.setArguments(args);  
    
  • Fragmentでは、Bundle bundle = getArguments();によりパラメータ
  • が取得する.

    Fragment ---> Activity


    Fragmentを担持するActivityにデータを渡す
  • FragmentではgetActivity()によりActivityが取得する、activityが取得される.xxx()メソッドでデータを設定します.

  • 新しいActivityへのデータの転送
  • はFragmentがActivityにデータを返すデータを返さないstartActivity()の方法で可能であり、データはintentに格納される.
  • は、FragmentがActivityにデータを転送するためにコールバック方法が必要である場合、データが返される
  • がある.
  • Fragmentではthis.startActivity()メソッドを呼び出す必要があり、getActivity.startActivity()メソッドは使用できません.
  • ActivityでsetResult
  •  Intent intent = getIntent();
     intent.putExtra("cityNameFromActivity",localtion);
     setResult(ProprietaryTradingFragment.CITYREQUESTCODE,intent);
    
  • FragmentではonActivityResult()メソッドを書き換え、データ受信を行う.Fragmentが存在するActivityにすでにonActivityResult()の方法がある場合、FragmentのonActivityResult()の方法にはsuper.onActivityResult(requestCode, resultCode, data);の方法
  • を加えなければならない.

    Fragment ---> Fragment


    参考記事1.出艦する