diff --git a/src/com/terlici/dragndroplist/DragNDropListView.java b/src/com/terlici/dragndroplist/DragNDropListView.java index 8e8ad0b..24d9eb2 100644 --- a/src/com/terlici/dragndroplist/DragNDropListView.java +++ b/src/com/terlici/dragndroplist/DragNDropListView.java @@ -103,9 +103,16 @@ public boolean isDrag(MotionEvent ev) { if (handler == null) return false; - int top = parent.getTop() + handler.getTop(); + int top = handler.getTop(); + int left = handler.getLeft(); + View subParent = handler; + do { + subParent = (View)subParent.getParent(); + top += subParent.getTop(); + left += subParent.getLeft(); + } while(subParent != parent); + int bottom = top + handler.getHeight(); - int left = parent.getLeft() + handler.getLeft(); int right = left + handler.getWidth(); return left <= x && x <= right && top <= y && y <= bottom;