如何在计时器倒计时结束后调用其他活动



这是我的计时器类,当计时器为enb时,我想调用其他活动。在此处输入代码

import android.content.Intent;
import android.os.CountDownTimer;
import android.widget.TextView;

public class TimerCountDown extends CountDownTimer {


    private TextView timerTextView;



    public TimerCountDown(long startTime, long interval) {
        super(startTime, interval);


    }
    @Override
    public void onTick(long millisUntilFinished) {
        getTimerTextView().setText((String.valueOf(millisUntilFinished / 1000 + "S")));


    }
    @Override
    public void onFinish() {
       getTimerTextView().setText("0s");

       //need to start activity 
    }


    public TextView getTimerTextView() {
        return timerTextView;
    }
    public void setTimerTextView(TextView timerTextView) {
        this.timerTextView = timerTextView;
    }

}

这是显示的活动

import android.app.Activity;

导入android.os.Bundle;

/***由eli于2016年5月1日创建。*/公共类Playagin扩展活动{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.play_again);

}

在TimerCountDown类中创建私有成员上下文。当您创建计时器时,在计时器中传递上下文(在大多数情况下,您当前的活动通过"this")。在onFinish方法中,使用上下文启动Playagin活动。

你的计时器类应该是这样的。

public class TimerCountDown extends CountDownTimer {
    private TextView timerTextView;
    private Context context;
    public TimerCountDown(long startTime, long interval, Context context) {
        super(startTime, interval);
        this.context = context;
    }
    @Override
    public void onTick(long millisUntilFinished) {
        getTimerTextView().setText((String.valueOf(millisUntilFinished / 1000 + "S")));
    }
    @Override
    public void onFinish() {
       getTimerTextView().setText("0s");
       context.startActivity(new Intent(context, Playagin.class));
    }
    public TextView getTimerTextView() {
        return timerTextView;
    }
    public void setTimerTextView(TextView timerTextView) {
        this.timerTextView = timerTextView;
    }
}

最新更新