问题
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?
回答1:
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);
}
});
来源:https://stackoverflow.com/questions/20592747/horizontal-scroll-view-detect-long-press