如何通过传递一些参数来启动一个Intent?
问题描述:
我想通过一些变量,在我的ListActivity如何通过传递一些参数来启动一个Intent?
的构造我通过这段代码开始活动:
startActivity(new Intent (this, viewContacts.class));
我想用类似的代码,但两个字符串传递给构造函数。怎么可能?
答
为了通过创建新的意图的参数,把参数映射:
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
我认为如果它询问如何将参数传递给新的Activity以及如何在传递参数时获取参数,这将是一个更好的问题。我不明白为什么我们需要有两个单独的问题,如果你需要使用两个真正有任何功能无论如何。 (这就是为什么我包括如何获得我的答案看下面的参数) – Xitcod13 2012-10-18 00:58:50