来自Intent的两个EXTRA_MESSAGE

时间:2014-03-13 19:23:13

标签: android android-intent

我可以在Intent上有两条额外的消息,我可以传递给另一个Activity吗?如果是的话,它是如何运作的?

这就是我所做的:

Intent intent3 = new Intent(this, Start.class);
String message = o.getName();
String messages = o.getPath();
intent3.putExtra(EXTRA_MESSAGE, message);   
intent3.putExtra(EXTRA_MESSAGE, messages);  
startActivity(intent3);`

以及将收到消息的Activity

Intent intent3 = getIntent();
String message = intent3.getStringExtra(Browse.EXTRA_MESSAGE);
String messages = intent3.getStringExtra(Browse.EXTRA_MESSAGE);`

4 个答案:

答案 0 :(得分:1)

您必须更改KEY:

Intent intent3 = new Intent(this, Start.class);
String message = o.getName();
String messages = o.getPath();
intent3.putExtra(EXTRA_MESSAGE, message);   
intent3.putExtra(EXTRA_MESSAGE_TWO, messages); 
startActivity(intent3); 

答案 1 :(得分:0)

不完全一样,但发送多个值很容易。 putExtra或getStringExtra的第一个参数是值映射的键,因此它必须是唯一的。只要您为每个值使用不同的键,就可以在意图中添加任意数量的键。

例如:

Intent intent3 = new Intent(this, Start.class);
String message = o.getName();
String messages = o.getPath();
intent3.putExtra("name", message);   
intent3.putExtra("path", messages);  
startActivity(intent3);

Intent intent3 = getIntent();
String message = intent3.getStringExtra("name");
String messages = intent3.getStringExtra("path");`

答案 2 :(得分:0)

这是你遇到问题的方法。每个值都需要单独的key s。例如,

intent3.putExtra("msg1", message);   
intent3.putExtra("msg2", messages); 

然后在您的接收Activity中,您可以使用上述key来获取它们。但您可以根据需要添加尽可能多的Extra值。

答案 3 :(得分:0)

两个不同的键和消息就可以了

  Intent intent3 = new Intent(this, Start.class);
    String message = o.getName();
    String messages = o.getPath();
    intent3.putExtra(EXTRA_MESSAGE1, message);   
    intent3.putExtra(EXTRA_MESSAGE2, messages); 
    startActivity(intent3);