私はアンドロイドアプリケーションでドラッグアンドドロップ機能を実装しようとしています。ドラッグ部分が終了しました。残った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処理を実装しましたが、イベントがキャッチされません。
おかげで、 レヴィ
..niceタイトル... –