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:)我无法告诉你我刚才花了多长时间试图找出如何从保存的状态包中获取它。。。我猜是因为我碰巧路过一个可包裹的物体——无论如何,这应该是星号