Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/191.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用片段事务发送捆绑包_Android_Android Fragments_Bundle - Fatal编程技术网

Android 使用片段事务发送捆绑包

Android 使用片段事务发送捆绑包,android,android-fragments,bundle,Android,Android Fragments,Bundle,以下是我的代码,它不起作用: //以这种方式发送捆绑包: String topUser = String.valueOf(scores.get(arg2)); Bundle data = new Bundle(); data.putString("userprofile", topUser); FragmentTransaction t = getActivity().getSupportFragmentManager()

以下是我的代码,它不起作用:

//以这种方式发送捆绑包:

        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");
//以这种方式检索:

        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");

基本上,没有收到数据。我的思路正确吗?或者有更好的方法吗?

您应该使用Fragment类的
getArguments()
方法。因此,在您的
片段中放入如下内容:

Bundle extras = getArguments();

引用:

只是为了澄清-调用
getActivity().getIntent().getExtras()
实际上是可行的,但是你得到的是底层
活动的“参数”,而不是
片段
s:)我无法告诉你我刚才花了多长时间试图找出如何从保存的状态包中获取它。。。我猜是因为我碰巧路过一个可包裹的物体——无论如何,这应该是星号