如何通过传递一些参数来启动一个Intent?

问题描述:

我想通过一些变量,在我的ListActivity如何通过传递一些参数来启动一个Intent?

的构造我通过这段代码开始活动:

startActivity(new Intent (this, viewContacts.class)); 

我想用类似的代码,但两个字符串传递给构造函数。怎么可能?

+2

我认为如果它询问如何将参数传递给新的Activity以及如何在传递参数时获取参数,这将是一个更好的问题。我不明白为什么我们需要有两个单独的问题,如果你需要使用两个真正有任何功能无论如何。 (这就是为什么我包括如何获得我的答案看下面的参数) – Xitcod13 2012-10-18 00:58:50

为了通过创建新的意图的参数,把参数映射:

Intent myIntent = new Intent(this, NewActivityClassName.class); 
myIntent.putExtra("firstKeyName","FirstKeyValue"); 
myIntent.putExtra("secondKeyName","SecondKeyValue"); 
startActivity(myIntent); 

为了得到启动的活动里面的参数值,你必须调用get[type]Extra()的目的相同:

// getIntent() is a method from the started activity 
Intent myIntent = getIntent(); // gets the previously created intent 
String firstKeyName = myIntent.getStringExtra("firstKeyName"); // will return "FirstKeyValue" 
String secondKeyName= myIntent.getStringExtra("secondKeyName"); // will return "SecondKeyValue" 

如果你的参数是你会用getIntExtra()整数,而不是等 现在你可以使用你的参数,比如你通常会。

我想你想是这样的:

Intent foo = new Intent(this, viewContacts.class); 
foo.putExtra("myFirstKey", "myFirstValue"); 
foo.putExtra("mySecondKey", "mySecondValue"); 
startActivity(foo); 

,或者你可以先组合成一个包。对应的getExtra()例程存在于另一侧。有关更多信息,请参阅开发指南中的the intent topic

+3

下面是如何获得这些值在启动的活动中的示例:http://*.com/a/4233898/246743 – 2012-08-29 15:18:47