多个按钮一次启动多个活动

时间:2013-01-22 20:38:52

标签: android button onclick android-activity

我正在编写一个小型的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);
}

这发生在我的应用程序中。无论我按哪个按钮,都会执行每个关联的操作,并且每个关联的活动都会启动。

我能做些什么吗?

2 个答案:

答案 0 :(得分:2)

  

当我同时按下多个按钮时,两个动作都会执行。

这是预期的行为。按下按钮时,您的代码会启动活动。按下多个按钮,因此启动了多个活动。

如果要更改此项以便只能按下一个按钮,则需要添加代码才能执行此操作。您可以禁用onButtonClick中的其他按钮(并在适当时重新启用它们)。

答案 1 :(得分:0)

因为这是同一个活动添加

android:finishOnTaskLaunch="true" 

在您的活动代码下的清单中。它会阻止制作相同活动的多个实例。