// Original from Eric Harlow
// http://ericharlow.blogspot.com/2010/10/experience-android-drag-and-drop-list.html
//
// Modifications Copyright 2011 NPR
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package org.npr.android.widget;
import android.view.View;
import android.widget.ListView;
/**
* Implement to handle an item being dragged.
*
* @author Eric Harlow
*/
public interface DragListener {
/**
* Called when a drag starts.
*
* @param itemView - the view of the item to be dragged.
*/
void onStartDrag(View itemView);
/**
* Called when a drag is to be performed.
*
* @param x - horizontal coordinate of MotionEvent.
* @param y - vertical coordinate of MotionEvent.
* @param listView - the listView that was dragged. This is the actual
* view item in the list, not the image of the view being dragged.
*/
void onDrag(int x, int y, ListView listView);
/**
* Called when a drag stops.
*
* Any changes in onStartDrag need to be undone here
* so that the view can be used in the list again.
*
* @param itemView - the view of the item that was dragged
*/
void onStopDrag(View itemView);
}