Android:Fragmentに値を渡す方法

XOOMでの開発やってると必ずFragmentをやらないといけなくなると思うんですが、こいつが何者か未だによく使い方を理解してないです。しかし、わかったことからすこしずつメモってわかるようになろうと思います。

今回は、Fragmentに値を渡す方法。Activityだったら、Intentに値を仕込んでstartActivity(intent)なわけですが、Fragmentでは以下のようにします。

FragmentManager fm = getFragmentManager();
FragmentTransaction t = fm.beginTransaction();
HogeFragment fragment = new HogeFragment();
Bundle bundle = new Bundle();
bundle.putExtra("test", "これはテストです。");
// フラグメントに渡す値をセット
fragment.setArguments(bundle);
t.add(R.id.hoge_fragment, fragment, "hoge_fragment");
t.commit();

で、受け取り方。
HogeFragment.onCreateViewにて、getArguemtns().getString(“****”)で取れる。

pubic View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.hoge, container, false);
    // ここで値を受け取ってる
    String test = getArguments().getString("test");
    TextView txtHoge = (TextView) view.findViewById(R.id.txt_hoge);
    txtHoge.setText(test);
    return view;
}

以上です。


タグ Android, Java | パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です