2013-12-15 45 views
3

我有一個單純皰疹病毒,我想響應長期點擊該視圖。當我把它設置爲onLongClickListener()它沒有太大的作用,回調沒有被調用。水平滾動視圖檢測長按

我認爲滾動視圖消耗了所有與onTouch,因此它可以處理滾動,但我該如何解決它?

回答

4

您可以使用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); 
    } 
}); 
+0

工程就像一個魅力,謝謝! – aviran