Android Intent.getStringExtra()返回null

时间:2013-03-21 18:49:25

标签: android string android-intent null extras

这是将字符串添加到Extras的方式:

Intent i = new Intent();
i.putExtra("Name", edt_name.getText());
i.putExtra("Description", edt_desc.getText());
i.putExtra("Priority", skb_prior.getProgress());
setResult(RESULT_OK, i);
finish();

这是我尝试在onActivityResult()中提取它们的方式:

String name = data.getStringExtra("Name");
String desc = data.getStringExtra("Description");
int prior   = data.getIntExtra("Priority", 50);

但是在第二个代码块namedescnull之后,虽然prior具有正确的值。 此外,在调试器中,我可以看到,data.mExtras.mMap包含所需的字符串,但仅在第一次请求后才显示。

1 个答案:

答案 0 :(得分:84)

当您插入Extras尝试添加.toString()

i.putExtra("Name", edt_name.getText().toString());

您看到CharSequence值,但需要将其转换为String才能调用getStringExtra()。显然,只需为Strings执行此操作。您会看到int的正确值,因为这是正确完成的