Состояние кнопки не сохраняется при перемещении по действиям, потому что объект действия каждый раз восстанавливается, поэтому для его исправления просто установите переменную stati c.
private static boolean isCandyPressed = false;
Затем в onclick () кнопки установите для него значение true. И, таким образом, обрабатывайте ваши логики c повсюду, проверяя эту переменную. Надеюсь, что это решит вашу проблему