1

Activityいくつかの s を生成するがありますMotionEvent( 経由MotionEvent.obtain())。Activityこれらの生成されたタッチ/モーション イベントをの子ビューに渡したいと思います。ドキュメントからActivity.onTouchEvent()、子ビューの1つがイベントを処理しない場合にのみ呼び出されます。つまり、生成されたタッチイベントを子に渡すためにそれを呼び出すことはできません。

生成されたタッチイベントを親MainActivityから子ビューに送信する方法はありますか?通常は応答します(たとえば、子ビューにOnClickListenerセットがあり、生成されたダウン/アップタッチイベントを子ビュー、私はOnClickListener呼び出されたい)?

あるアクティビティから別のアクティビティにタッチ イベントを送信しようとしているのではなく、これはすべて自分のアプリケーション内にあることに注意してください。また、私のデバイスはルート化されていないため、ルート化を必要とするソリューションは役に立ちません。

4

1 に答える 1

1

ちょうどそれを理解しました。解決策はを使用することActivity.dispatchTouchEvent()です。たとえば、私のビューでクリックイベントとして登録されているのは次のとおりです。

dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_DOWN, 200, 200, 0));
dispatchTouchEvent(MotionEvent.obtain(SystemClock.uptimeMillis(), SystemClock.uptimeMillis(), MotionEvent.ACTION_UP, 200, 200, 0));
于 2012-11-29T17:47:30.507 に答える