title: problems with objectanimator and the end listener
body: <p>I'm writing code to make a circle fall. The problem is that when I call a method that puts a piece random, it does well, but in the second turn it puts 2 pieces and in the 3 turn 3 pieces. I know that the problem appears when I put the line : <code>game.juegaMaquina();</code> inside the end listener.</p>
  
  <p>The code is :</p>
  
  <pre><code> public boolean onTouchEvent(MotionEvent event) {
          final int fila;
          final int columna;
  
          pixel_x = (int) event.getX();
          pixel_y = (int) event.getY();
          fila = getFila(pixel_y);
          columna = getColumna(pixel_x);
  
          if (game.tableroLleno()) {
              Toast.makeText(getApplicationContext(), R.string.fin_del_juego,
                      Toast.LENGTH_LONG).show();
              return true;
          }
  
          if (game.sePuedeColocarFicha(fila, columna) != true) {
              Toast.makeText(getApplicationContext(), R.string.nosepuedecolocarficha,
                      Toast.LENGTH_SHORT).show();
              return true;
          }
  
          if(event.getAction() == MotionEvent.ACTION_DOWN) {
              if(pixel_y &gt; 200) {
                  animator.start();
                  animator.setIntValues(200, getPixelFromFila(getFila(pixel_y)));
                  animator.addListener(new Animator.AnimatorListener() {
                      @Override
                      public void onAnimationStart(Animator animation) {
                          // TODO Auto-generated method stub
                          game.juegaMaquina();
                      }
  
                      @Override
                      public void onAnimationRepeat(Animator animation) {
                          // TODO Auto-generated method stub
                      }
  
                      @Override
                      public void onAnimationEnd(Animator animation) {
                          // TODO Auto-generated method stub
                          game.ponerJugador(fila, columna);
                          if (game.comprobarCuatro(Game.JUGADOR)) {
                              Toast.makeText(getApplicationContext(), "Has ganado " + nombreFinal,
                                      Toast.LENGTH_LONG).show();
                              if (game.fin()) {
                                  FragmentoDialogo dialogo = new FragmentoDialogo();
                                  dialogo.show(getFragmentManager(), "Alert Dialog");
                              }
                          }
                          game.juegaMaquina();
                      }
  
                      @Override
                      public void onAnimationCancel(Animator animation) {
                          // TODO Auto-generated method stub
                      }
                  });
              }
          }
  
          return true;
      }
  </code></pre>