Question: Need some help adding something for this app in Android Studio. Its a countdown timer app, it works fine, I just need help adding a
Need some help adding something for this app in Android Studio. Its a countdown timer app, it works fine, I just need help adding a max and min range for the countdown timer.
The app should have a max timer of 99 sec and a min timer of 5 sec. Currently there are no limits. Please help.
////////////////////////////////////////////////////////Front-End Code////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////Back-End Code/////////////////////////////////////////////////////////////////
package com.example.countdowntimer; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.widget.Button; import android.widget.TextView; import java.util.Locale; public class MainActivity extends AppCompatActivity { private static final long START_TIME_IN_MILLIS = 30000; private TextView tv_time; private Button btn_start; private Button btn_stop; private Button btn_reset; private Button btnUp,btnDown; private CountDownTimer mCountDownTimer; private int minutes=0,seconds=0; private boolean mTimerRunning; private String timeLeftFormatted; private long mTimeLeftInMillis = START_TIME_IN_MILLIS; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tv_time = findViewById(R.id.tv_count); btn_start= findViewById(R.id.btn_start); btn_reset = findViewById(R.id.btn_reset); btn_stop=findViewById(R.id.btn_stop); btnDown = findViewById(R.id.down); btnUp = findViewById(R.id.up); //up button btnUp.setOnClickListener(e->{ mTimeLeftInMillis+=1000; updateCountDownText(); }); //down button btnDown.setOnClickListener(e->{ mTimeLeftInMillis-=1000; updateCountDownText(); }); btn_start.setOnClickListener(e-> { if(!mTimerRunning) startTimer(); }); btn_stop.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (mTimerRunning) { stopTimer(); } } }); btn_reset.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { resetTimer(); } }); updateCountDownText(); } private void startTimer() { mCountDownTimer = new CountDownTimer(mTimeLeftInMillis, 1000) { @Override public void onTick(long millisUntilFinished) { mTimeLeftInMillis = millisUntilFinished; updateCountDownText(); } @Override public void onFinish() { mTimerRunning = false; // start button btn_start.setVisibility(View.INVISIBLE); btn_reset.setVisibility(View.VISIBLE); } }.start(); mTimerRunning = true; // stop button btn_reset.setVisibility(View.INVISIBLE); } private void stopTimer() { mCountDownTimer.cancel(); mTimerRunning = false; //btn_start.setText("Start"); btn_reset.setVisibility(View.VISIBLE); } private void resetTimer() { mTimeLeftInMillis=START_TIME_IN_MILLIS; updateCountDownText(); btn_reset.setVisibility(View.INVISIBLE); btn_start.setVisibility(View.VISIBLE); } private void updateCountDownText() { minutes = (int) (mTimeLeftInMillis / 1000) / 60; seconds = (int) (mTimeLeftInMillis / 1000) % 60; timeLeftFormatted = String.format(Locale.getDefault(), "%02d:%02d", minutes, seconds); tv_time.setText(timeLeftFormatted); } }
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
