From 130e1294e8aead233911e7895cedb63af5752519 Mon Sep 17 00:00:00 2001 From: Taeho Kim Date: Thu, 17 Oct 2013 10:43:06 +0900 Subject: [PATCH] Fixed Drag-and-Drop sample code Fixed some erros in 'Responding to drag events' sample code on http://developer.android.com/guide/topics/ui/drag-drop.html Changed View.OnDragEventListener to View.OnDragListener, deleted brace start('{') after DragEvent.ACTION_DRAG_ENTERED which does not have matching ends, and removed 'break' on each case in swich statement which causes 'Unreachable code' error. Added return statement at the 'default' case, so that onDrag() method can return value in all case. Change-Id: I7d2335f5c405626e3f0cff275b52818762c84634 Signed-off-by: Taeho Kim --- docs/html/guide/topics/ui/drag-drop.jd | 142 +++++++++++-------------- 1 file changed, 65 insertions(+), 77 deletions(-) diff --git a/docs/html/guide/topics/ui/drag-drop.jd b/docs/html/guide/topics/ui/drag-drop.jd index e98937468db9f..dbb4f98ea9d76 100644 --- a/docs/html/guide/topics/ui/drag-drop.jd +++ b/docs/html/guide/topics/ui/drag-drop.jd @@ -873,7 +873,7 @@ imageView.setOnDragListener(mDragListen); ... -protected class myDragEventListener implements View.OnDragEventListener { +protected class myDragEventListener implements View.OnDragListener { // This is the method that the system calls when it dispatches a drag event to the // listener. @@ -901,16 +901,13 @@ protected class myDragEventListener implements View.OnDragEventListener { // returns true to indicate that the View can accept the dragged data. return(true); - } else { + } - // Returns false. During the current drag and drop operation, this View will - // not receive events again until ACTION_DRAG_ENDED is sent. - return(false); + // Returns false. During the current drag and drop operation, this View will + // not receive events again until ACTION_DRAG_ENDED is sent. + return(false); - } - break; - - case DragEvent.ACTION_DRAG_ENTERED: { + case DragEvent.ACTION_DRAG_ENTERED: // Applies a green tint to the View. Return true; the return value is ignored. @@ -921,77 +918,68 @@ protected class myDragEventListener implements View.OnDragEventListener { return(true); - break; - - case DragEvent.ACTION_DRAG_LOCATION: + case DragEvent.ACTION_DRAG_LOCATION: // Ignore the event - return(true); + return(true); + case DragEvent.ACTION_DRAG_EXITED: + + // Re-sets the color tint to blue. Returns true; the return value is ignored. + v.setColorFilter(Color.BLUE); + + // Invalidate the view to force a redraw in the new tint + v.invalidate(); + + return(true); + + case DragEvent.ACTION_DROP: + + // Gets the item containing the dragged data + ClipData.Item item = event.getClipData().getItemAt(0); + + // Gets the text data from the item. + dragData = item.getText(); + + // Displays a message containing the dragged data. + Toast.makeText(this, "Dragged data is " + dragData, Toast.LENGTH_LONG); + + // Turns off any color tints + v.clearColorFilter(); + + // Invalidates the view to force a redraw + v.invalidate(); + + // Returns true. DragEvent.getResult() will return true. + return(true); + + case DragEvent.ACTION_DRAG_ENDED: + + // Turns off any color tinting + v.clearColorFilter(); + + // Invalidates the view to force a redraw + v.invalidate(); + + // Does a getResult(), and displays what happened. + if (event.getResult()) { + Toast.makeText(this, "The drop was handled.", Toast.LENGTH_LONG); + + } else { + Toast.makeText(this, "The drop didn't work.", Toast.LENGTH_LONG); + + } + + // returns true; the value is ignored. + return(true); + + // An unknown action type was received. + default: + Log.e("DragDrop Example","Unknown action type received by OnDragListener."); break; - - case DragEvent.ACTION_DRAG_EXITED: - - // Re-sets the color tint to blue. Returns true; the return value is ignored. - v.setColorFilter(Color.BLUE); - - // Invalidate the view to force a redraw in the new tint - v.invalidate(); - - return(true); - - break; - - case DragEvent.ACTION_DROP: - - // Gets the item containing the dragged data - ClipData.Item item = event.getClipData().getItemAt(0); - - // Gets the text data from the item. - dragData = item.getText(); - - // Displays a message containing the dragged data. - Toast.makeText(this, "Dragged data is " + dragData, Toast.LENGTH_LONG); - - // Turns off any color tints - v.clearColorFilter(); - - // Invalidates the view to force a redraw - v.invalidate(); - - // Returns true. DragEvent.getResult() will return true. - return(true); - - break; - - case DragEvent.ACTION_DRAG_ENDED: - - // Turns off any color tinting - v.clearColorFilter(); - - // Invalidates the view to force a redraw - v.invalidate(); - - // Does a getResult(), and displays what happened. - if (event.getResult()) { - Toast.makeText(this, "The drop was handled.", Toast.LENGTH_LONG); - - } else { - Toast.makeText(this, "The drop didn't work.", Toast.LENGTH_LONG); - - }; - - // returns true; the value is ignored. - return(true); - - break; - - // An unknown action type was received. - default: - Log.e("DragDrop Example","Unknown action type received by OnDragListener."); - - break; - }; - }; + } + + return(false); + } };