I'm trying to translate an ImageView, moving it downward one step at a time with each click. However, the animation only works for the first button click; all subsequent clicks only change the ImageView's location without the animation.

Here is my move\_down.xml file:

```
<?xml version="1.0" encoding="utf-8"?>
<translate 
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:fromYDelta="0%"
    android:toYDelta="100%"
    android:duration="500"
/>

```

Here is my button declaration in my main.xml:

```
<Button
     android:id="@+id/bGo"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:text="Go"
 android:onClick="startAnimation" />

```

Here is my startAnimation function:

```
public void startAnimation(View view) {
        Animation test = AnimationUtils.loadAnimation(this, R.anim.move_down);
        character.startAnimation(test);//This is the ImageView I'm trying to animate
        test.setAnimationListener(new AnimationListener() {
            public void onAnimationStart(Animation animation) {}
            public void onAnimationRepeat(Animation animation) {}
            public void onAnimationEnd(Animation animation) {
                character.setY(character.getY() + character.getHeight());          
                }
        });     
}

```

When I commented out the line 

```
character.setY(character.getY() + character.getHeight());

```

The animation would work but the location of the ImageView would snap back after the animation was finished.