无论如何要增加一个以上的额外意图?

时间:2012-07-12 22:13:00

标签: android

我想在Intent添加多个额外内容。一个持有double,一个持有long。这可能吗?

如果是这样,我该怎么做?如何从每个额外获取信息?

4 个答案:

答案 0 :(得分:9)

您可以根据自己的心愿向Intent添加任意数量的额外内容,它们只是关键值数据:

Intent intent = new Intent();
intent.putExtra("name", "MyName");
intent.putExtra("age", 35);
intent.putExtra("weight", 155.6);

可以使用相同的键名检索它们:

String name = intent.getStringExtra("name");
int age = intent.getIntExtra("age", 0);
double weight = intent.getDoubleExtra("weight", 0.0);

答案 1 :(得分:1)

intent.putExtra(@ExtraDoubleKey, @ExtraDoubleValue);
intent.putExtra(@ExtraLongKey, @ExtraLongValue);

其中@ExtraDoubleKey是一个字符串,您将用它来访问额外的(即“价格”或其他东西),而@ExtraDoubleValue是额外的值(您希望传递的双变量)。同样适用于@ExtraLongKey和@ExtraLongValue。

然后,您可以使用以下活动访问附加内容:

double doubleValue = getIntent().getExtras().getDouble(@ExtraDoubleKey);
long longValue = getIntent().getExtras().getLong(@ExtraLongKey);

使用@ExtraDoubleKey键获取double extra的值。

答案 2 :(得分:0)

您可以使用Bundle并将其作为参数传递给意图。

Intent nextActivity = new Intent(this, Activity2.class);
Bundle passData = new Bundle(); //to hold your data
passDataBndl.putString("fname", fname); //put in some String. the first parameter to it is the id, and the second parameter is the value
nextActivity.putExtras(passDataBndl); //Add bundle to the Intent
startActivityForResult(nextActivity, 0); //Start Intent

答案 3 :(得分:0)

https://stackoverflow.com/a/11461530/776075

Devunwired是正确的。 但我看到的方式是 每种类型只能保留一个值。 像一个字符串,一个int,一个double等。

您无法包含2个字符串值。或两个整数。 我在一个程序中经历过这个,我已经通过使用来克服它 一个字符串和一个布尔值。