title: Why does DragEvent.ACTION DROP gets called twice
body: <p>When using a DragListenerClass :</p>
  
  <pre><code>protected class myDragEventListener implements View.OnDragListener {
  
      @Override
      public boolean onDrag(final View v, DragEvent event) {
  
          final int action = event.getAction();   
  
          switch (action) {
  
              case DragEvent.ACTION_DRAG_STARTED: 
                  break;
              case DragEvent.ACTION_DRAG_ENDED :
              case DragEvent.ACTION_DRAG_EXITED :
              case DragEvent.ACTION_DROP:
  
                  Log.d("DROP", "DROP");
  
                  if((ViewGroup) dragView.getParent() != null)
                      ((ViewGroup) dragView.getParent()).removeView(dragView);
                  main_layout.addView(dragView,currentViewIndexUnderDragView);
  
                  break;
              case DragEvent.ACTION_DRAG_LOCATION:    
                  break;                          
          }
          return true;
      }
  }
  </code></pre>
  
  <p>the drag listener class is used like this :</p>
  
  <pre><code>final myDragEventListener dragListener = new myDragEventListener();     
  main_container.setOnDragListener(dragListener);
  </code></pre>
  
  <p>And the drag is started like this: </p>
  
  <pre><code>onLongClickListener = new OnLongClickListener() {
  
          @Override
          public boolean onLongClick(View v) {                
  
              v.startDrag(null,new View.DragShadowBuilder(v), null, 0);               
  
              main_layout.removeView(v);
              dragListener.dragView = v;              
  
              return true;
          }
      };  
  </code></pre>
  
  <p>Problem is that the drop is called twice and I have no idea why or what I am doing wrong.       </p>