我正在使用片段并遇到以下问题:
来自fragment
:
Bundle bundle = new Bundle();
bundle.putInt("myData", x);
Intent in=new Intent(getActivity(),B.class);
in.putExtra("xy", bundle);
startActivity(in);
在Activity
:
Intent in=getIntent();
Bundle bundle = getIntent().getExtras();
int value = bundle.getInt("myData");
Log.v("in mainactivity",""+value);
这里得到Null值。 我希望你能理解这个问题。
答案 0 :(得分:8)
你必须使用(注意putExtra
s 末尾的s)
in.putExtras(bundle);
否则您无法使用getIntent().getExtras();
答案 1 :(得分:2)
如果您使用Bundle
传递Intent.putExtra
,请在第二个活动中获取它:
Bundle bundle = getIntent().getBundleExtra("xy"); //<< get Bundle from Intent
int value = bundle.getInt("myData");//<extract values from Bundle using key
答案 2 :(得分:1)
而不是:
Bundle bundle = new Bundle();
bundle.putInt("myData", x);
Intent in=new Intent(getActivity(),B.class);
in.putExtra("xy", bundle);
startActivity(in);
您只需通过以下方式传递数据:
Intent in=new Intent(getActivity(),B.class);
in.putExtra("myData", x);
startActivity(in);
答案 3 :(得分:0)