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

我想在我的ListActivity的构造函数中传递一些variables

我通过这个代码开始活动:

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

我想使用类似的代码,但要传递两个string的构造函数。 怎么可能?

为了传递参数,你创build一个新的意图,并把一个参数映射:

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

为了获取已启动活动中的参数值,必须在同一个intent上调用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()例程存在于另一端。 有关更多信息,请参阅开发指南中的intent主题 。