Android,启动一个新活动并将其传递给变量

Android, start a new activity and pass it a variable

本问题已经有最佳答案,请猛点这里访问。

我想开始一个传递了变量的新活动。

代码到目前为止:

1
2
3
4
5
if(mostLikelyThingHeard.toUpperCase().equals("PLAY ONE"))
{
    startActivity(new Intent("com.shaz.new"));
    //I want to send an int value `1` to the new activity.
}

可以这样做吗?


使用putExtra(key, value)

这样做

1
2
3
4
5
6
 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是默认值


假设有两个A类,另一个是B.您想将一些数据从A传递给B.

来自A类:

1
2
3
4
5
6
7
8
9
10
11
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级:

1
2
3
4
5
6
7
VideoID = getIntent().getExtras().getString("videoId").toString();

GPS = getIntent().getExtras().getString("gps").toString();

Description = getIntent().getExtras().getString("des").toString();

Title = getIntent().getExtras().getString("title").toString();

现在,您将能够在B类中使用这些值。

希望这能帮助您"通过传递一些数据开始一项新活动"。