0

I am creating a count down timer on the android platform.

I don't know how to store the remaining time on the timer (5 minutes on the timer) when the user presses the 'Stop' Button(PAUSE). So, if the user later presses the 'Start' Button again, it will continue counting down from where it left off. This is what i have done so far.

public class Timer_App extends Activity {


Button btn_Start, btn_Stop, btn_Reset;
TextView timer_text;

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

    //NEVER SLEEP!
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);


    //Buttons
    btn_Start = (Button) findViewById(R.id.Start);
    btn_Stop = (Button) findViewById(R.id.Stop);
    btn_Reset = (Button) findViewById(R.id.Reset);

    //FONT
    Typeface typeface = Typeface.createFromAsset(getAssets(), "Digital_Font.TTF");
    timer_text = (TextView) findViewById(R.id.timer_view);
    timer_text.setTypeface(typeface);

    //Timer
    timer_text.setText("05:00);

    final CounterClass timer = new CounterClass(300000, 1000);

    //Start btn
    btn_Start.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.start();
        }
    });

    //Stop btn
    btn_Stop.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            timer.cancel();
        }
    });

    //Reset btn
    btn_Reset.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
}


//TIMER CLASS
public class CounterClass extends CountDownTimer{

    public CounterClass(long millisInFuture, long countDownInterval) {
        super(millisInFuture, countDownInterval);
    }

    @Override
    public void onTick(long millisUntilFinished) {

        String hms = String.format("%02d:%02d",
                TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millisUntilFinished)),
                TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished)));
        timer_text.setText(hms);
    }

    @Override
    public void onFinish() {

    }
}

}

  • Have you checked [this](http://stackoverflow.com/questions/4597690/android-timer-how?rq=1) answer yet? – Sitram Feb 21 '17 at 20:23
  • Possible duplicate of [Android timer? How?](http://stackoverflow.com/questions/4597690/android-timer-how) – RBK Feb 21 '17 at 20:51

0 Answers0