Это мой код:ValueAnimator не работает, как это должно быть. Перезапуск от 0, а не с 1-го значения
public static void countTextViewTravelMode(final Integer value, final TextView myView, final CrudStateCallback back){
Integer begin = 0;
try {
begin = Integer.parseInt(myView.getText().toString());
}catch (Exception e){
Log.e("","error trying to get value travel:" + e.getMessage());
}
ValueAnimator animator = ValueAnimator.ofInt(begin, value);
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
public void onAnimationUpdate(ValueAnimator animation) {
String string = animation.getAnimatedValue() + "";
myView.setText(string);
}
});
animator.setEvaluator(new TypeEvaluator<Integer>() {
public Integer evaluate(float fraction, Integer startValue, Integer endValue) {
return Math.round((endValue - startValue) * fraction);
}
});
animator.setDuration(1000);
animator.start();
if(back!= null)
back.onResponse("");
}
Это вызывается один раз, когда активность вызывается, и сразу же после вызова Апи, чтобы получить новые данные сделано. Первый раз он переходит от 0 до правильного значения. Второй раз он возвращается к 0, начинается с 0 и всегда останавливается со случайным числом, которое меньше требуемого. Как я могу заставить его не перезапускать с 0, а также завершить финализацию нужного номера?