Я слежу за онлайн-курсом android, и я делаю эту задачу, где я делаю таймер, который я контролирую значение с помощью панели поиска, а затем начинаю обратный отсчет при нажатии кнопки, моя проблема, когда я, кажется, чтобы нажать кнопку, CountDownTimer () не работает вообще, я попытался напечатать текущее значение таймера в журнале и на тосте, но, кажется, он вообще не реагирует, я добавил тостовое сообщение в нескольких местах, чтобы определить, где проблема, и я пришел к выводу, что это был таймер обратного отсчета ** Метод StartTimer () является методом onclick для кнопки
package com.example.timer;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.widget.Button;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import java.util.Timer;
public class MainActivity extends AppCompatActivity {
SeekBar TimeSelector;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TimeSelector= findViewById(R.id.TimeSelector);
TimeSelector.setMax(900);
TimeSelector.setProgress(30);
TimeSelector.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
updateTimer(i);
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
public void updateTimer(int sedcondLeft){
Toast.makeText(getApplicationContext(),""+ sedcondLeft,Toast.LENGTH_SHORT).show();
final TextView TimeLeft =findViewById(R.id.TimeLeft);
int minutes = (int) sedcondLeft/60;
int seconds=(int) sedcondLeft- minutes*60;
if (seconds<10){
TimeLeft.setText(minutes + " : 0" + seconds);
}
else{
TimeLeft.setText(minutes + " : " + seconds);
}
}
public void StartTimer(View v) {
new CountDownTimer(TimeSelector.getProgress()*1000, 1000) {
@Override
public void onTick(long l) {
updateTimer(TimeSelector.getProgress()-1);
}
@Override
public void onFinish() {
}
};
}
}