水平滚动视图检测长按

avi*_*ran 3 android horizontalscrollview android-scrollview

我有一个HSV,我想回复一下该视图的长按.当我设置它onLongClickListener()没有做太多时,回调没有被调用.

我假设滚动视图消耗所有内容,onTouch因此它可以处理滚动,但我该如何解决它?

小智 6

你可以用GestureDetector做到这一点.这有效:

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);
    }
});
Run Code Online (Sandbox Code Playgroud)