0
0

Добрый день.

Приложение таймер. При запуске в эмуляторе выводит Timer has stopped.

Код приложения пишу повторно после просмотра лекций.

Сравнивал с тем, что в лекциях. Перезагружал эмулятор.

package com.example.timer;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.TextView;

import java.util.Locale;

public class MainActivity extends AppCompatActivity {
    private boolean isRunning = false;
    private int seconds = 0;
    private TextView textView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        textView = findViewById(R.id.textViewTimer);
        runTimer();
    }

    public void onClickStart(View view) {
        isRunning = true;
    }

    public void onClickPause(View view) {
        isRunning = false;
    }

    public void onClickRestart(View view) {
        isRunning = false;
        seconds = 0;
    }

    private void runTimer(){
        final Handler handler = new Handler();
        handler.post(new Runnable() {
            @Override
            public void run() {
                int hour = seconds / 3600;
                int minute = (seconds % 3600) / 60;
                int sec = seconds % 60;
                String time = String.format(Locale.getDefault(), "%02d:%02d:%02d, hour, minute, sec");
                textView.setText(time);
                if (isRunning){
                    seconds ++;
                }
                handler.postDelayed(this, 1000);
            }
        });


    }
}


Олег Уланов
4 years ago






Еще нет ответов