Android |在我的第二个活动中无法接收Intent Key

时间:2014-08-05 06:46:32

标签: android android-intent android-activity

嗨,我一直试图让这个在我的游戏中发挥作用,但它不会起作用。在第二项活动中,我可以重新获得生命,但金钥匙不会起作用。 这是我的第一个活动。

 Intent intent = new Intent(getApplicationContext(),EndActivity.class);
                        intent.putExtra("lives", lives);
                        intent.putExtra("gold", gold);
                        startActivity(intent);

我的第二个活动

Intent extras = getIntent();
    int gold = extras.getExtras().getInt("gold", 0);
    int lives = extras.getExtras().getInt("lives", 0);
我错过了什么吗?我检查了我的拼写。我试着看看Intent中是否只允许使用1个密钥。我已经检查了其他问题,但我找不到任何有用的问题。

3 个答案:

答案 0 :(得分:0)

首先,当你这样做时,确保生命和黄金是int:

intent.putExtra("lives", lives); intent.putExtra("gold", gold);

其次,您必须在第二个Activity中使用此代码:

Bundle extras = getIntent()。getExtras();

if (extras.containsKey("lives") && extras.containsKey("lives") )
{
 int gold = extras.getExtras().getInt("gold";
 int lives = extras.getExtras().getInt("lives");
}

另外,请注意:

Intent intent = new Intent(FirstActivity.this,EndActivity.class);

所以你必须使用FirstActivity.this而不是getApplicationContext();

答案 1 :(得分:0)

尝试:

int gold = Integer.parseInt(extras.getString("gold"));

int gold = extras.getInt("gold");

答案 2 :(得分:0)

使用它:

 Intent i = new Intent(first.this, EndActivity.class);
           Bundle bundle = new Bundle();
           bundle.putInt("gold", gold);
           bundle.putInt("gold", gold);
           i.putExtras(bundle);
           startActivity(i);

结束活动:

Bundle getData = getIntent().getExtras();
        int gold = getData.getInt("gold");
         int lives = getData.getInt("lives");