Java倒计时计时器-一个接一个

Java倒计时计时器-一个接一个,java,android,intervals,countdowntimer,Java,Android,Intervals,Countdowntimer,我是超级程序员。我正在尝试制作一个adroid间隔计时器,用户在其中输入轮次、工作时间和休息时间。我找不到一种方法在工作计时器之后启动中断计时器,它们同时开始运行。我该怎么做呢 谢谢 public class MainActivity extends Activity { EditText rundy, praca, przerwa; Button start; TextView timer; boolean timerHasStarted = false;

我是超级程序员。我正在尝试制作一个adroid间隔计时器,用户在其中输入轮次、工作时间和休息时间。我找不到一种方法在工作计时器之后启动中断计时器,它们同时开始运行。我该怎么做呢

谢谢

public class MainActivity extends Activity {

    EditText rundy, praca, przerwa;
    Button start;
    TextView timer;
    boolean timerHasStarted = false;

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


        rundy = (EditText) findViewById(R.id.rundy); // rounds
        praca = (EditText) findViewById(R.id.praca); // work time
        przerwa = (EditText) findViewById(R.id.przerwa); // break time
        start = (Button) findViewById(R.id.start);
        timer = (TextView) findViewById(R.id.timer);
        start.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {


                int rundyL = Integer.parseInt(rundy.getText().toString())*1000;
                long pracaL = Long.parseLong(praca.getText().toString()) * 1000;
                long przerwaL = Long.parseLong(przerwa.getText().toString())*1000;
                MyCountDownTimer countDownTimerPraca = new MyCountDownTimer(pracaL, 1000);
                MyCountDownTimer countDownTimerPrzerwa = new MyCountDownTimer(przerwaL,1000);

                for(int i = 0; i<rundyL; i++){

                countDownTimerPraca.start();                
                countDownTimerPrzerwa.start();
                }
            }

            class MyCountDownTimer extends CountDownTimer {
                public MyCountDownTimer(long pracaL, long interval) {
                    super(pracaL, interval);
                }

                @Override
                public void onTick(long millisUntilFinished) {
                    timerHasStarted = true;
                    long minutes = (millisUntilFinished / 1000)/60;
                    long seconds = (millisUntilFinished/1000)%60;
                    timer.setText( String.format("%02d", minutes) + ":" + String.format("%02d", seconds));
                }

                @Override
                public void onFinish() {
                    timerHasStarted = false;
                    timer.setText("Times up");
                }
            }
        });
    }
}
公共类MainActivity扩展活动{
EditText rundy,praca,przerwa;
按钮启动;
文本视图定时器;
布尔TIMERHASSSTARTED=false;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rundy=(EditText)findViewById(R.id.rundy);//轮数
praca=(EditText)findViewById(R.id.praca);//工作时间
przerwa=(EditText)findViewById(R.id.przerwa);//中断时间
开始=(按钮)findViewById(R.id.start);
timer=(TextView)findViewById(R.id.timer);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
int rundyL=Integer.parseInt(rundy.getText().toString())*1000;
long pracaL=long.parseLong(praca.getText().toString())*1000;
long przerwaL=long.parseLong(przerwa.getText().toString())*1000;
MyCountDownTimer CountDownTimerPaca=新的MyCountDownTimer(pracaL,1000);
MyCountDownTimer countDownTimerPrzerwa=新的MyCountDownTimer(przerwaL,1000);
对于(int i=0;i
public类main活动扩展活动{
EditText rundy,praca,przerwa;
按钮启动;
文本视图定时器;
布尔TIMERHASSSTARTED=false;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rundy=(EditText)findViewById(R.id.rundy);//轮数
praca=(EditText)findViewById(R.id.praca);//工作时间
przerwa=(EditText)findViewById(R.id.przerwa);//中断时间
开始=(按钮)findViewById(R.id.start);
timer=(TextView)findViewById(R.id.timer);
setOnClickListener(新的OnClickListener(){
公共void onClick(视图v){
int rundyL=Integer.parseInt(rundy.getText().toString())*1000;
long pracaL=long.parseLong(praca.getText().toString())*1000;
long przerwaL=long.parseLong(przerwa.getText().toString())*1000;
MyCountDownTimer countDownTimerPrzerwa=新的MyCountDownTimer(przerwaL,1000);
MyCountDownTimer CountDownTimerPaca=新的MyCountDownTimer(CountDownTimerPzerwa,pracaL,1000);

对于(int i=0;在
onFinish()中启动第二个计时器)
如果你想在完成工作计时器后启动中断计时器,你需要在onfinish methodthis.timer=timer;throws en error中的某个地方添加它-我真的不知道如何解决这个问题,因为我不确定这一行的用途。改为this.mytimer=timer;并且它已编译,但是循环的轮数不起作用
public class MainActivity extends Activity {

    EditText rundy, praca, przerwa;
    Button start;
    TextView timer;
    boolean timerHasStarted = false;

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


        rundy = (EditText) findViewById(R.id.rundy); // rounds
        praca = (EditText) findViewById(R.id.praca); // work time
        przerwa = (EditText) findViewById(R.id.przerwa); // break time
        start = (Button) findViewById(R.id.start);
        timer = (TextView) findViewById(R.id.timer);
        start.setOnClickListener(new OnClickListener() {

            public void onClick(View v) {


                int rundyL = Integer.parseInt(rundy.getText().toString())*1000;
                long pracaL = Long.parseLong(praca.getText().toString()) * 1000;
                long przerwaL = Long.parseLong(przerwa.getText().toString())*1000;
                MyCountDownTimer countDownTimerPrzerwa = new MyCountDownTimer(przerwaL,1000);
                MyCountDownTimer countDownTimerPraca = new MyCountDownTimer(countDownTimerPrzerwa,pracaL, 1000);
                for(int i = 0; i<rundyL; i++){
                countDownTimerPraca.start();
                }
            }

            class MyCountDownTimer extends CountDownTimer {
                private MyCountDownTimer mytimer;
                public MyCountDownTimer(long pracaL, long interval) {
                    super(pracaL, interval);
                }
                 public MyCountDownTimer(MyCountDownTimer timer, long pracaL, long interval) {
                    this(pracaL, interval);
                    this.timer = timer;
                }

                @Override
                public void onTick(long millisUntilFinished) {
                    timerHasStarted = true;
                    long minutes = (millisUntilFinished / 1000)/60;
                    long seconds = (millisUntilFinished/1000)%60;
                    timer.setText( String.format("%02d", minutes) + ":" + String.format("%02d", seconds));
                }

                @Override
                public void onFinish() {
                    timerHasStarted = false;
                    timer.setText("Times up");
                    if(mytimer!=null)
                        mytimer.start();
                }
            }
        });
    }
}