1

のダイアログウィンドウがありImageViewます。画像に触れていると消えますDialogが、ユーザーはまだ画面を押しています。Dialog問題は、このタッチ イベントが my の下のウィンドウ(たとえば)に渡されないことActivityです。

MotionEventこれを ( with で)ACTION_DOWNに渡して、Activity新しいモーション イベントを生成できるようにすることはできますか?ACTION_MOVEACTION_UP

編集

私が正確にやろうとしていることActivity:

//Sending touch event
MotionEvent ev = MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis()+100, MotionEvent.ACTION_DOWN, 50, 50, 0);
getWindow().getDecorView().dispatchTouchEvent(ev);

そしてここに私のdispatchTouchEventonTouchEvent

@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
    if(mDragging) {
        mMainFrame.onTouchEvent(ev); //I'm passing event to some view
        onTouchEvent(ev); //and then to my Activity
        return true;
    }

    return super.dispatchTouchEvent(ev);
}

public boolean onTouchEvent(MotionEvent ev) {
    return true;
}
4

1 に答える 1

0

メソッドonTouchEventはブール値を返す必要があります。

ドキュメントから

イベントが処理された場合は true、そうでない場合は false。

基になるレイヤーがある場合は、super(boolean) を呼び出す必要がある場合があります

于 2012-11-06T14:27:42.680 に答える