我想在Intent
添加多个额外内容。一个持有double
,一个持有long
。这可能吗?
如果是这样,我该怎么做?如何从每个额外获取信息?
答案 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个字符串值。或两个整数。 我在一个程序中经历过这个,我已经通过使用来克服它 一个字符串和一个布尔值。