Bueno, no puede saber cuál es el objeto sobre el que terminó la animación. El propósito de AnimationListener es escuchar la animación y no el objeto.
Solución
1- crear su propia clase de Animación y guardar en ella una referencia al objeto que está animando.
Esto le permitirá lanzar la animación a YourAnimation en la función onAnimationEnd
y obtener la referencia.
2- Una solución más simple es crear su propia AnimationListener que contiene una referencia del objeto que está animado.
Por ejemplo:
public class MyAnimationListener implements AnimationListener {
ImageView view;
public void setImage(ImageView view) {
this.view = view;
}
public void onAnimationEnd(Animation animation) {
// Do whatever you want
}
public void onAnimationRepeat(Animation animation) {
}
public void onAnimationStart(Animation animation) {
}
}
Así que cuando se desea animar su ImageView: Usted hace lo siguiente:
MyAnimationListener listener = new MyAnimationListener();
listener.setImage(myImage);
myAnimation.setAnimationListener(listener);
trate de mantener una bandera en onAnimationEnd() – aNi
No he tenido usted. .! – Noby