В случае, если вы запускаете второй таймер, вам обязательно нужно будет остановить первый таймер, если он все еще работает (то есть, позвоните timer2.stop()
непосредственно перед timer.start()
и наоборот).
В противном случае оба будут вмешиваться, т. Е. Они получат доступ к одним и тем же полям (в данном случае timerLabel
).В зависимости от времени это может выглядеть так, если второй таймер постоянно увеличивает значение.Если, например, таймер увеличения всегда срабатывает вскоре после таймера уменьшения, выходное значение всегда будет 3 - Red
.Счетчик сам по себе не увеличивается, но метка заполняется этим значением снова и снова, и, таким образом, похоже, что он полностью игнорирует таймер уменьшения.
Тем не менее, вам также следует остановить каждый таймер, если его счетчик достиг последнегозначение.Больше нет необходимости его запускать.
По поводу вашего второго вопроса: вы не можете присвоить возвращаемое значение, но вместо этого измените какое-то поле вашего слушателя, к которому вы затем сможете получить доступ вне метода действия.