Вместо того, чтобы кнопка вызывала функцию обновления, установите для нее логическое значение «isButtonPressed» в значение true. А затем, когда кнопка снова нажата (выключена), установите ее обратно в false. Затем где-нибудь в вашем приложении, которое вызывается постоянно (есть ли у вас игровой цикл? Функция обновления? Что-то в этом роде?), Сделайте следующее:
void Update() {
if (isButtonPressed) {
Refresh();
}
}
Убедитесь, что для логического значения установлено значение false, установите для него значение true при нажатии кнопки, а затем установите для false значение при повторном нажатии кнопки. Вы можете сделать это так:
void ButtonPressedCallback() {
isButtonPressed = !isButtonPressed;
}
Все это предполагает, что вы запускаете игру и у вас есть игровой цикл, или что у вас есть какая-то функция обновления, которая бесконечно вызывается в вашем приложении до ее выхода. Если нет, подумайте над тем, чтобы сделать что-то подобное в Android.