Pregunta

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?

¿Fue útil?

Solución

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);
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top