Android 无论如何,要在意向中添加多个额外内容吗?

Android 无论如何,要在意向中添加多个额外内容吗?,android,Android,我想在Intent中添加多个附加项。一个用来按住double,另一个用来按住long。这可能吗 如果是这样的话,我将如何做?我将如何从每个额外的项目中获得信息 您可以使用Bundle并将其作为参数传递给Intent Intent nextActivity = new Intent(this, Activity2.class); Bundle passData = new Bundle(); //to hold your data passDataBndl.putString("fname", f

我想在
Intent
中添加多个附加项。一个用来按住
double
,另一个用来按住
long
。这可能吗


如果是这样的话,我将如何做?我将如何从每个额外的项目中获得信息

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

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

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

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

您可以根据自己的意愿在
意图中添加任意多的额外内容,它们都只是关键值数据:

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);

您可以根据自己的意愿在
意图中添加任意多的额外内容,它们都只是关键值数据:

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);
其中@ExtraDoubleKey是一个字符串,您将使用该字符串访问额外值(即“价格”或其他内容),而@ExtraDoubleValue是额外值(您希望传递的双变量)。与@ExtraLongKey和@ExtraLongValue类似

然后,要在下一个活动中访问附加功能,您可以使用:

double doubleValue = getIntent().getExtras().getDouble(@ExtraDoubleKey);
long longValue = getIntent().getExtras().getLong(@ExtraLongKey);
使用@ExtraDoubleKey键获取双额外值

其中@ExtraDoubleKey是一个字符串,您将使用该字符串访问额外值(即“价格”或其他内容),而@ExtraDoubleValue是额外值(您希望传递的双变量)。与@ExtraLongKey和@ExtraLongValue类似

然后,要在下一个活动中访问附加功能,您可以使用:

double doubleValue = getIntent().getExtras().getDouble(@ExtraDoubleKey);
long longValue = getIntent().getExtras().getLong(@ExtraLongKey);
使用@ExtraDoubleKey键获取双额外值。

Devunwired是正确的。 但我的看法是 每个类型只能保留一个值。 比如一个字符串,一个int,一个double等等

您不能包含2个字符串值。或两个整数。 我在一个程序中体验到了这一点,并通过使用 一个字符串和一个布尔值。

Devunwired是正确的。 但我的看法是 每个类型只能保留一个值。 比如一个字符串,一个int,一个double等等

您不能包含2个字符串值。或两个整数。 我在一个程序中体验到了这一点,并通过使用
一个字符串和一个布尔值。

非常感谢。出于某种原因,我一直认为你只被允许一次。这让我的事情简单多了谢谢:)谢谢。出于某种原因,我一直认为你只被允许一次。这让事情对我来说简单多了,谢谢:)