【问题标题】:How to add time to countdown timer?如何为倒数计时器添加时间?
【发布时间】:2014-04-05 05:07:47
【问题描述】:

我知道有这样的帖子,但它没有清楚地回答问题。 我有一个小游戏,你点击一个头,它会移动到一个随机位置,你会得到 +1 得分。同时有一个计时器从 60000(60 秒)开始倒计时并显示在下方。 我怎样才能做到这一点,每当点击头部时,它会增加一秒钟的计时器?

new CountDownTimer(timer, 1) {
    public void onTick(long millisUntilFinished) {
        textTimer.setText("Timer " + millisUntilFinished/1000);
    }
    public void onFinish() {
        Intent intent = new Intent(MainActivity.this, Gameover.class);
        startActivity(intent);
    }
}.start();

在 onClickListner 事件中我有:

timer=timer+1000;

它目前不起作用,因为点击时没有添加时间。

任何帮助将不胜感激:)

【问题讨论】:

  • 唯一的方法是在当前实例上调用cancell并创建一个新实例

标签: android timer onclicklistener countdowntimer


【解决方案1】:

您无法更改预定计时器的时间。实现您想要做的事情的唯一方法是取消计时器并设置一个新计时器。

public class CountdownActivity extends Activity implements OnTouchListener{
    CountDownTimer mCountDownTimer;
    long countdownPeriod;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_countdown);
       countdownPeriod = 30000;
       createCountDownTimer();
    }

    @Override
    public boolean onTouch(View v, MotionEvent event) {
        if (mCountDownTimer != null)
                mCountDownTimer.cancel();
        createCountDownTimer();

        return true;
    }

    private void createCountDownTimer() {
        mCountDownTimer = new CountDownTimer(countdownPeriod + 1000, 1) {

            @Override
            public void onTick(long millisUntilFinished) {
                    textTimer.setText("Timer " + millisUntilFinished / 1000);
                countdownPeriod=millisUntilFinished;
            }

            @Override
            public void onFinish() {
                Intent intent = new Intent(MainActivity.this, Gameover.class);
                startActivity(intent);
            }
        };
    }
}

【讨论】:

  • 先生。 G_J 我有问题吗? mCountDownTimer = new CountDownTimer(countdownPeriod + 1000, 1) 在这一行中,我们将定时器初始化为 +1 秒?所以这意味着当我们在 OnCreate 方法中创建计时器时,实际时间不是 30 秒?会是 31 岁吗?谢谢..
猜你喜欢
  • 2019-06-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-24
相关资源
最近更新 更多