Android - Получить время виджета хронометра

Я нашел этот пример действительно widget полезным, спасибо nyenyec!

Вот android-api мои два цента на то, как widgets превратить его в настоящую android-sdk функцию секундомера без создания widget подкласса хронометра. Просто android-framework измените метод mStartListener, чтобы android-application анализировать текст из mChronometer android-device (в конце концов, он получен android-sdk из TextView), вычислять миллисекунды widgets и использовать setBase(), чтобы views скорректировать базовое время view на это количество времени android-sdk в прошлом:

  View.OnClickListener mStartListener = new OnClickListener() {
    public void onClick(View v) {

      int stoppedMilliseconds = 0;

      String chronoText = mChronometer.getText().toString();
      String array[] = chronoText.split(":");
      if (array.length == 2) {
        stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 1000
            + Integer.parseInt(array[1]) * 1000;
      } else if (array.length == 3) {
        stoppedMilliseconds = Integer.parseInt(array[0]) * 60 * 60 * 1000 
            + Integer.parseInt(array[1]) * 60 * 1000
            + Integer.parseInt(array[2]) * 1000;
      }

      mChronometer.setBase(SystemClock.elapsedRealtime() - stoppedMilliseconds);
      mChronometer.start();
    }
  };

android

time

view

widget

chronometer

2022-10-31T14:28:12+00:00