【问题标题】:Android, start a new activity and pass it a variable [duplicate]Android,开始一个新活动并将其传递给一个变量[重复]
【发布时间】:2013-04-18 09:48:12
【问题描述】:
我想用传入的变量开始一个新活动。
到目前为止的代码:
if(mostLikelyThingHeard.toUpperCase().equals("PLAY ONE"))
{
startActivity(new Intent("com.shaz.new"));
//I want to send an int value `1` to the new activity.
}
这个可以吗?
【问题讨论】:
标签:
android
variables
android-activity
【解决方案1】:
假设有两个类,一个是 A,另一个是 B。你想将一些数据从 A 传递给 B。
来自 A 类:
Intent result = new Intent(A.this,B.class);
result.putExtra("videoId", videoId);
result.putExtra("title",titleEdit.getText().toString());
result.putExtra("des", descriptionEdit.getText().toString());
result.putExtra("gps", passingGPS);
startActivity(result);
通过上面的代码,您已经从 A 开始 B 活动并传递了一些数据。当 B 活动开始时,您必须获取在从 A 类调用 B 类时传递的那些数据。您必须按照这种方式获取您通过的 A 类的值。
来自 B 类:
VideoID = getIntent().getExtras().getString("videoId");
GPS = getIntent().getExtras().getString("gps");
Description = getIntent().getExtras().getString("des");
Title = getIntent().getExtras().getString("title");
现在您可以在 B 类中使用这些值了。
希望这将帮助您“通过传递一些数据开始新活动”。
【解决方案2】:
使用putExtra(key, value)
这样做
if(mostLikelyThingHeard.toUpperCase().equals("PLAY ONE"))
{
Intent i=new Intent("com.shaz.new");
i.putExtra("key","value")
startActivity(i);
}
检索:
int value =getIntent().getIntExtra("key", 0);0 是默认值