我正在编写一个小型的Android-App,并发现了一个关于多个按钮的奇怪问题。我有一个带有4个按钮的活动。当我同时按下多个按钮时,两个动作都会执行。所以我可以按下所有4个按钮,并开始所有4个以下活动。
这是我的onButtonClick-Method
public void onButtonClick(View view) {
Intent intent = new Intent(this, RunActivityConfirm.class);
switch(view.getId()) {
case R.id.btnRunAcceleration:
intent.putExtra("DisciplineName", "Acceleration");
startActivity(intent);
break;
case R.id.btnRunSkidPad:
intent.putExtra("DisciplineName", "Skid Pad");
startActivity(intent);
break;
case R.id.btnRunAutocross:
intent.putExtra("DisciplineName", "Autocross");
startActivity(intent);
break;
case R.id.btnRunEndurance:
intent.putExtra("DisciplineName", "Endurance");
startActivity(intent);
break;
}
}
首先我认为问题在于我总是在每个“案例”中调用startActivity(),但即使我尝试以下所有4个活动同时开始
public void onButtonClick(View view){
Intent intent = new Intent(this, RunActivityConfirm.class);
switch(view.getId()) {
case R.id.btnRunAcceleration:
intent.putExtra("DisciplineName", "Acceleration");
break;
case R.id.btnRunSkidPad:
intent.putExtra("DisciplineName", "Skid Pad");
break;
case R.id.btnRunAutocross:
intent.putExtra("DisciplineName", "Autocross");
break;
case R.id.btnRunEndurance:
intent.putExtra("DisciplineName", "Endurance");
break;
}
startActivity(intent);
}
这发生在我的应用程序中。无论我按哪个按钮,都会执行每个关联的操作,并且每个关联的活动都会启动。
我能做些什么吗?
答案 0 :(得分:2)
当我同时按下多个按钮时,两个动作都会执行。
这是预期的行为。按下按钮时,您的代码会启动活动。按下多个按钮,因此启动了多个活动。
如果要更改此项以便只能按下一个按钮,则需要添加代码才能执行此操作。您可以禁用onButtonClick
中的其他按钮(并在适当时重新启用它们)。
答案 1 :(得分:0)
因为这是同一个活动添加
android:finishOnTaskLaunch="true"
在您的活动代码下的清单中。它会阻止制作相同活动的多个实例。