嗨,我一直试图让这个在我的游戏中发挥作用,但它不会起作用。在第二项活动中,我可以重新获得生命,但金钥匙不会起作用。 这是我的第一个活动。
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个密钥。我已经检查了其他问题,但我找不到任何有用的问题。
答案 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");