许多切换案例但只有1个活动

时间:2013-05-28 22:27:10

标签: android android-intent

首先,按钮很少。

我为onClick方法中的所有按钮设置了一个开关盒。

我想为所有按钮执行不同的任务,例如

对于添加按钮,我想显示加法问题,减法等相同。

但我想点击按钮开始相同的活动,我的意思是我有一个计数器类,它应该在实际问题开始显示之前启动。

所以点击我想要启动该计数器活动的任何按钮后,显示问题。

@Override
public void onClick(View v) {

    Intent Counter = new Intent(this, TYS_Counter.class);
    startActivity(Counter);

    switch (v.getId()) {

    case R.id.BAddition:

        break;
    case R.id.BSubtraction:

        break;
    case R.id.BMultiplication:

        break;
    case R.id.BDivision:

        break;
    case R.id.BAll:

        break;
    }

}

我已经这样做了,这是否正确,我不这么认为,所以请指导我。

编辑:

我希望当用户点击任何按钮时,3 2 1的计时器开始,当它完成时,问题的活动就会开始。

由于

1 个答案:

答案 0 :(得分:0)

根据我的想法,您希望在计时器到期后显示问题。你有几个选择。一个是你可以使用

Intent Counter = new Intent(this, TYS_Counter.class);
startActivityForResult(Counter);  // notice the change here

然后,当您的计时器Activity完成后,它可以使用setResult()并将值返回onActivityResult()然后您可以根据所需的问题启动Activity。从计时器Activity发回。

如果您想在计数器到期时启动新的Activity,那么您可以像这样更改您的代码

    @Override
public void onClick(View v) {

    Intent Counter = new Intent(this, TYS_Counter.class);

    switch (v.getId()) {

    case R.id.BAddition:
        counter.putExtra("key", "addition");
        break;
    case R.id.BSubtraction:
        counter.putExtra("key", "subtraction");
        break;
    case R.id.BMultiplication:
        counter.putExtra("key", "multiplication");
        break;
    case R.id.BDivision:
        counter.putExtra("key", "division");
        break;
    case R.id.BAll:
        counter.putExtra("key", "whateverThisIs");
        break;
    }
startActivity(Counter);

}

然后,当您的计数器Activity完成后,您可以使用额外发送来告诉它Activity开始