Я создаю игру, и я хотел бы отобразить простой "счет" - анимация плееру, когда кредиты даны ему. Это - представление, которое я бросаю на экран:
public class Score extends FrameLayout {
public Score(Context context, int score) {
super(context);
TextView txt = new TextView(context);
txt.setText(String.valueOf(score).toUpperCase());
addView(txt);
Animation anim = AnimationUtils.loadAnimation(context, R.anim.score);
startAnimation(anim);
anim.setAnimationListener(animationListener);
}
private void Remove(){
ViewGroup parent = (ViewGroup)getParent();
parent.removeView(this);
}
private AnimationListener animationListener = new AnimationListener() {
@Override
public void onAnimationEnd(Animation animation) {
Remove();
}
};
}
Этот код на самом деле работает вполне прилично, пока существует ТОЛЬКО ОДНА анимация счета на экране в любой момент времени. Если очки плеера снова, прежде чем последний счет был удален, сбои приложения - вероятно, потому что второй счет заставляет событие удалять себя во время анимации.. Действительно ли это - плохая практика использования Анимации? Как был бы Вы парни обрабатывать это?