25

これが機能していない私のコードです:

//この方法でバンドルを送信します:

        String topUser = String.valueOf(scores.get(arg2));

        Bundle data = new Bundle();
        data.putString("userprofile", topUser);

        FragmentTransaction t = getActivity().getSupportFragmentManager()
                .beginTransaction();
        SherlockListFragment mFrag = new ProfileFragment();
        mFrag.setArguments(data);
        t.replace(R.id.main_frag, mFrag);
        t.commit();

//この方法で取得します:

        Bundle extras = getActivity().getIntent().getExtras();
        userName = extras.getString("userprofile");

基本的に、データは受信されません。私は正しい方向に進んでいますか、それともこれを行うためのより良い方法がありますか?

4

1 に答える 1

32

getArguments()Fragmentクラスのメソッドを使用する必要があります。だからあなたの中に次のようなものを入れてくださいFragment

Bundle extras = getArguments();

参照:http://developer.android.com/reference/android/app/Fragment.html#getArguments()

于 2013-03-11T00:09:16.523 に答える