Неработающий секундомер

public class MainActivity extends AppCompatActivity {
private TextView mainText, hours, minutes, seconds;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mainText = (TextView) findViewById(R.id.text1);

    hours = (TextView) findViewById(R.id.hours);
    minutes = (TextView) findViewById(R.id.minutes);
    seconds = (TextView) findViewById(R.id.seconds);

    final int[] c = {55};
    final int[] m = {1};
    final int[] h = {1};

    new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                while (true) {
                    if (c[0] == 60) {
                        c[0] = 0;
                        seconds.setText(":" + (c[0] < 10 ? "0" + c[0]++ : c[0]++));
                        minutes.setText(":" + (m[0] < 10 ? "0" + m[0]++ : m[0]++));
                        if (m[0] == 60) {
                            m[0] = 0;
                            minutes.setText(":" + (m[0] < 10 ? "0" + m[0]++ : m[0]++));
                            hours.setText("" + (h[0] < 10 ? "0" + h[0]++ : h[0]++));
                        }
                    } else {
                        seconds.setText(":" + (c[0] < 10 ? "0" + c[0]++ : c[0]++));
                    }
                    Thread.sleep(300);
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }).start();
}

}

Данный код представляет собой некий секундомер, но проблема в том, что как только количество секунд (с[0]) становится равна нулю, число минут меняется на 1, а секунды обнуляются, алгоритм перестаёт работать
Помогите разобраться в проблеме

Примечание
Если код перенести из android studio в обычный компилятор java, и просто выводить секунды и минуты, то всё прекрасно работает


Ответы (0 шт):