2010-11-23 45 views
2

我试图在android应用程序中实现拖放功能。拖动部分完成后,剩下的一件事就是弄清拖放视图将放在哪个视图上。这是我拖累鉴于onTouch功能:如何处理父母的孩子的onTouch事件?

public boolean onTouch(View v, MotionEvent event) { 
    // Is the event inside of this view? 
    if (!mRegion.contains((int) event.getX(), (int) event.getY())) { 
    return false; 
    } 

    if (event.getAction() == MotionEvent.ACTION_DOWN) { 
    ... 
    System.out.println("**** IMAGE DRAG STARTED!"); 
    return true; 
    } else if (event.getAction() == MotionEvent.ACTION_MOVE) { 
         ... 
    this.invalidate(); 
    return true; 
    } else if (event.getAction() == MotionEvent.ACTION_UP){ 
    System.out.println("**** ICON DRAG ENDED!"); 
    return false; 
    } else { 
    return true; 
    } 
} 

所以基本上所有的移动事件除了ACTION_UP(视图时realeased的时刻)来处理。问题是我应该如何让这个事件在父进程中被调用(将它传递给父进程的onTouch处理程序),这样我就可以找出它被丢弃的地方。我已经在父项中实现了onTouch处理,但没有捕获任何事件。

感谢, 列维

+0

..nice标题... – 2010-11-23 17:37:36

回答

3

覆盖onInterceptTouchEvent(MotionEvent事件)

+0

谢谢,它的工作原理! – 2010-11-23 10:45:23