bauerca / drag-sort-listview

Android ListView with drag and drop reordering.
3.2k stars 1.44k forks source link

Item clicks not passed through to the underlying list view #89

Open hamidp opened 11 years ago

hamidp commented 11 years ago

I've got a bunch of items that have a TextView that serves as the drag handle on long press. The item click listener is never invoked on clicks on the drag handle. The below diff does seem to fix the issue but I'm not very familiar with the library so I'm not submitting a PR.

+++ b/src/github/drag-sort-listview/library/src/com/mobeta/android/dslv/DragSortController.java Wed Mar 20 14:49:47 2013 -0400
@@ -432,6 +432,11 @@
                 mDslv.removeItem(mClickRemoveHitPos - mDslv.getHeaderViewsCount());
             }
         }
+        else
+        {
+            mDslv.performItemClick(mDslv.getChildAt(mHitPos), mHitPos, mDslv.getAdapter().getItemId(mHitPos));
+        }
+
         return true;
     }
hamidp commented 11 years ago

Slight modification to invoke double invocation:

    @Override
    public boolean onSingleTapUp(MotionEvent ev) {
        if (mRemoveEnabled && mRemoveMode == CLICK_REMOVE) {
            if (mClickRemoveHitPos != MISS) {
                mDslv.removeItem(mClickRemoveHitPos - mDslv.getHeaderViewsCount());
            }
        }
        else if (dragHandleHitPosition(ev) != MISS)
        {
            mDslv.performItemClick(mDslv.getChildAt(mHitPos), mHitPos, mDslv.getAdapter().getItemId(mHitPos));
        }

        return true;
    }