【问题标题】: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 是默认值

    【讨论】:

    • 我应该用“1”替换值吗??
    • @ShivamBansal 毫无疑问..
    • 我怎样才能在新活动中检索到这个?非常感谢
    • @ShivamBansal 发布了那个..
    • 感谢您的帮助。它成功了 :)
    猜你喜欢
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 2021-12-02
    • 1970-01-01
    相关资源
    最近更新 更多