В моем приложении я использую ValueAnimator - он переводит одно изображение в другое. Работает отлично но только после запуска приложения. Когда я хочу анимировать изображения снова, аниматор не работает. Я пытался использовать animation.end () в слушателе onAnimationEnd, но приложение вылетало. Я перепробовал все. Не могли бы вы мне помочь ? Вот мой способ запустить анимацию
private void animate() {
if(animator != null)
animator.end();
animator = ValueAnimator.ofFloat(0f, 1f);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
mPackOneSecond.setAlpha((Float) animation.getAnimatedValue());
mPackTwoSecond.setAlpha((Float) animation.getAnimatedValue());
mPackThreeSecond.setAlpha((Float) animation.getAnimatedValue());
}
});
animator.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
startSorting(option);
}
});
animator.setDuration(2500);
animator.start();
}
В основном animate () в onCreate () работает отлично, но когда я хочу его перезапустить - это не так. Почему?