48

这就是将字符串添加到 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包含所需的字符串,但只有在第一次请求它之后。

4

1 回答 1

103

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

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

CharSequence在那里看到了价值,但您需要将其转换为 a Stringto call getStringExtra()。显然,只需为Strings. 您会看到正确的值,int因为这样做是正确的

于 2013-03-21T18:54:09.337 回答