Question

I have a HSV, and I'd like to respond to a long click on that view. When I set it's onLongClickListener() it doesn't do much, the callback is not being called.

I assume that the scroll view consumes everything with an onTouch so it could handle the scrolling, but how do I work around it?

Was it helpful?

Solution

You can do this with GestureDetector. This works:

GestureDetector.OnGestureListener listener = new GestureDetector.SimpleOnGestureListener() {
    @Override
    public void onLongPress(MotionEvent e)
    {
        Toast.makeText(TestXmlActivity.this, "LongClick", Toast.LENGTH_SHORT).show();
    }
};

final GestureDetector gestureDetector = new GestureDetector(this, listener);

horizontalScrollView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event)
    {
        return gestureDetector.onTouchEvent(event);
    }
});
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top