Как сэкономить время с хронометра и получить к нему доступ из другого занятия

Цель состоит в том, чтобы сэкономить время, показанное на хронометре. Я хочу нажать стоп и сохранить значение в переменной, чтобы я мог вызвать его в другой деятельности.

До сих пор я могу сохранять время на хронометре в переменной с помощью функции showTime, а время, которое я хочу передать другому действию, хранится в elapsedSecs.

public void showTime() {
        Chronometer chronometerLeft = (Chronometer) findViewById(R.id.chronometerLeft);
        long elapsedMillis = SystemClock.elapsedRealtime() - chronometerLeft.getBase();
        double elapsedSecs = elapsedMillis / 1000;
    }

Моя проблема в том, что когда я пытаюсь вызвать showTime в другом действии, я получаю сообщение об ошибке, что функция showTime должна быть статической, и когда я делаю это статическим, я не могу использовать findViewById.

Цель: конечная цель - иметь возможность нажать "Стоп" на моем ChronometerActivity, а затем с помощью моего DataActivity нажать кнопку, чтобы собрать данные и время для всплывающего окна.

т.е. до сбора данных:

Время истекло; истекшее время:

После сбора данных:

Прошедшее время: 45 секунд

При необходимости я могу предоставить больше кода относительно моего проекта. Спасибо!

1 ответ

Решение

Вы читаете это в хронометражном задании и отправляете его на второе занятие через Intent. Вы не можете поделиться видом между действиями или получить к нему доступ напрямую. Вы также не можете вызвать метод другого действия напрямую - у вас нет копии этого действия, чтобы вызвать его.

Другие вопросы по тегам