Как сэкономить время с хронометра и получить к нему доступ из другого занятия
Цель состоит в том, чтобы сэкономить время, показанное на хронометре. Я хочу нажать стоп и сохранить значение в переменной, чтобы я мог вызвать его в другой деятельности.
До сих пор я могу сохранять время на хронометре в переменной с помощью функции 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. Вы не можете поделиться видом между действиями или получить к нему доступ напрямую. Вы также не можете вызвать метод другого действия напрямую - у вас нет копии этого действия, чтобы вызвать его.