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

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

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

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

我希望使用类似的代码,但是要向构造函数传递两个字符串?

166869 次浏览

我觉得你想要这样的东西:

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

或者你可以先把它们组合在一起。另一端存在相应的 getUltra ()例程。有关更多信息,请参见开发指南中的 意向性话题

为了传递参数,您需要创建新的意图并放置一个参数映射:

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"

如果您的参数是 int 类型的,那么您可以使用 getIntExtra()代替它,等等。 现在可以像平常一样使用参数了。

PutUltra () : 这个方法将数据发送到另一个活动,在参数中,我们必须传递键-值对。

Syntax: intent.putExtra("key", value);

例句: intent.putExtra("full_name", "Vishnu Sivan");

Intent intent=getIntent() : It gets the Intent from the previous activity.

fullname = intent.getStringExtra(“full_name”): 这一行获取前一个活动的字符串,在参数中,我们必须传递前一个活动中提到的键。

Sample Code:

Intent intent = new Intent(getApplicationContext(), MainActivity.class);
intent.putExtra("firstName", "Vishnu");
intent.putExtra("lastName", "Sivan");
startActivity(intent);