У меня работает анимация в фоновом режиме, и я хочу зарегистрировать обратный вызов, когда это будет сделано.Анимация не является стандартной анимацией Java - это анимация переменного тока, доступ к которой осуществляется через jni (поэтому предположим, что она имеет тип Object ).
Анимация не onFinish метод для регистрации, но у него есть метод isDone () , который возвращает логическое значение, если анимация больше не выполняется.Чтобы создать обратный вызов, я добавил такой запускаемый объект:
class Foo implements Runnable {
@Override
public void run() {
if (animation == null || target == null) return;
while (!animation.isDone())
{
//loop until animation is done...
}
//execute callback
}
}
Это выглядит как плохой способ сделать это - просто запустить цикл до завершения анимации.Тем не менее, мой вопрос: какие есть альтернативные или предпочтительные способы ожидания, пока isDone () вернет true для выполнения моего обратного вызова?