2010-11-23 22 views
2

私はアンドロイドアプリケーションでドラッグアンドドロップ機能を実装しようとしています。ドラッグ部分が終了しました。残った1つは、ドラッグされたビューがどのビューにドロップされたかを把握することです。ここに私のドラッグビューの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タイトル... –

答えて

3

オーバーライドonInterceptTouchEvent(MotionEventイベント)

+0

おかげで、それは働きます! –

+0

私の喜び。 GestureDetectorとVelocityTrackerを見てください。あなたは役に立つかもしれません。 – techiServices

関連する問題