Android putExtra和getIntExtra发生的有趣事情
我正在开发一个游戏,在我的菜单屏幕上有一系列的按钮,可以将玩家带到游戏的不同层次。我已经使用putExtra和getIntExtra从菜单活动到游戏活动获取一个Int,然后设置游戏级别 这一切都很好地工作,我遇到的问题是,当使用“后退”按钮返回菜单活动时,您必须按两次按钮才能进入菜单,而不是一次。如果您点击它一次,它会将您带到与getIntExtra函数的默认Int对应的级别 我不知道它为什么这样做 如有任何建议,将不胜感激 --编辑-- 菜单内活动Android putExtra和getIntExtra发生的有趣事情,android,Android,我正在开发一个游戏,在我的菜单屏幕上有一系列的按钮,可以将玩家带到游戏的不同层次。我已经使用putExtra和getIntExtra从菜单活动到游戏活动获取一个Int,然后设置游戏级别 这一切都很好地工作,我遇到的问题是,当使用“后退”按钮返回菜单活动时,您必须按两次按钮才能进入菜单,而不是一次。如果您点击它一次,它会将您带到与getIntExtra函数的默认Int对应的级别 我不知道它为什么这样做 如有任何建议,将不胜感激 --编辑-- 菜单内活动 public void onGoToGam
public void onGoToGame1Click(View view) {
Intent getNameScreenIntent = new Intent(this, GameActivity.class);
final int result = 1;
startActivityForResult(getNameScreenIntent, result);
getNameScreenIntent.putExtra( "int", 1);
startActivity(getNameScreenIntent);
}
游戏内活动
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game_layout);
levelTV = (TextView) findViewById(R.id.level);
Intent getNameScreenIntent = getIntent();
level = getNameScreenIntent.getIntExtra("int", 1);
levelTV.setText(" " + level);
}
private void levelUpdate() {
switch (score) {
case 10:
level = 2;
break;
case 20:
level = 3;
break;
case 30:
level = 4;
break;
case 40:
level = 5;
break;
}
您同时使用
startActivityForResult()
和startActivity()
,因此您的活动将启动两次。
第一次不加价,第二次加价
你应该选择其中一个<代码>startActivityForResult()仅当您需要活动在完成时返回结果时才应使用
旁注:startActivityForResult()的第二个参数不是结果。这是一个请求代码,允许调用者在收到对
onActivityResult()
的回调时知道响应了哪个请求 你为什么用这条线
startActivityForResult(getNameScreenIntent, result);
因为您通过使用上述和startActivity()启动两个活动,所以最终会有两个GamingActivity,一个在另一个之上。当您使用“后退”按钮时,会关闭上方的按钮,应用程序会显示您启动的其他活动。如果要使用额外的,则应仅使用startActivity() 请提供一些代码示例。特别是如何使用putExtra/getIntExtra函数。