这是我的代码无效:
//以这种方式发送包:
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");
基本上,没有收到数据。我是在正确的轨道上还是有更好的方法来做到这一点?
答案 0 :(得分:29)
您应该使用Fragment类的getArguments()
方法。因此,在Fragment
:
Bundle extras = getArguments();
参考:http://developer.android.com/reference/android/app/Fragment.html#getArguments()