私のログには、onTouch(View、MotionEvent)が呼び出されないことが誰に示されているのですか? onTouchEvent(MotionEventイベント)が呼び出されているのがわかります。どちらもView.OnTouchEventを実装するActivityでオーバーライドされます。Android onTouch(View、MotionEvent)は呼び出されていませんが、onTouchEvent(MotionEventイベント)が呼び出されていますか?
答えて
AFAIK、アクティビティはonTouch(..)
を定義しませんが、onTouchEvent(..)
を定義します。だからあなたは後者を上書きしていますが、前者を定義するだけです。
また、onTouchEvent(..)
は最後のタッチハンドラです - ビューがそれを処理しない場合にのみ、それが呼び出されます:
onTouchEvent(MotionEvent event)
Called when a touch screen event was not handled by any of the views under it.
私は活動を変更するためにスワイプをしようとしています。だから、私が持っているものを使う唯一の方法はView view = findViewById(R.id.startButtonLayout)です。 view.setOnTouchListener(this); – PointsToPonder
onTouchウルactivity.noでこの使用のようandroid.some事に使用することができます
ed.setOnTouchListener(new OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "hai", Toast.LENGTH_LONG).show();
return false;
}
});
これはまた、うまくいくように見えます。ありがとう – PointsToPonder
falseを返すとイベントを消費しないように指示するので、これはうまくいきません! –
onTouch()
をオーバーライドする必要がView
をタッチしたときに呼び出されますが、Activity
(画面)をタッチしたときonTouchEvent()
が呼び出されます。
onTouch()
の戻り値がtrueの場合、タッチイベントはonTouch()
で、それ以外の場合はonTouchEvent()
にイベントが送信されます。
希望すると便利です。
- 1. Android onCreateが呼び出されていませんか?
- 2. Android/Java:onProgressUpdate()が呼び出されていませんか?
- 3. Android Wear onDataChangedが呼び出されていません
- 4. Android onPreviewFrameが呼び出されていません
- 5. が呼び出されていますが、描画されていません
- 6. android onLocationChangedはまだ呼び出されていません
- 7. fbDidLoginまたはfbDidNotLoginが呼び出されていません
- 8. UIViewController:viewWillAppearが呼び出され、viewDidAppearは呼び出されません。
- 9. Android:NetworkOnMainThreadExceptionが呼び出されていません
- 10. forwardInvocationが呼び出されていませんか?
- 11. View.post()が呼び出されていませんか?
- 12. onListItemClickがアンドロイドで呼び出されていませんか?
- 13. PageMethods.MethodがJavaScriptから呼び出されていません
- 14. PrimeFaces fileDownloadメソッドが呼び出されていませんか?
- 15. UISearchDisplayControllerデリゲートからcellForRowAtIndexPathが呼び出されていません
- 16. ブロードキャストレシーバからアクティビティが呼び出されていません
- 17. setTimeout関数が呼び出されていませんか?
- 18. Javaコンストラクタが呼び出されていませんか?
- 19. GridView1_RowDeleting()が呼び出されていませんか?
- 20. DBUnitセットアップメソッドが呼び出されていませんか?
- 21. cellForRowAtIndexPathが呼び出されていませんか?
- 22. IE8ではPage_Initが呼び出されていません
- 23. .NET 4.5ではHttpModuleが呼び出されていません
- 24. OnVideoSizeChangedが呼び出されません
- 25. applicationDidBecomeActiveがまったく呼び出されていません
- 26. onKeyDownイベントは初めて呼び出されませんか?
- 27. ActivityCompat.requestPermissionsが呼び出されていません
- 28. ArrayAdapterのgetView()メソッドが呼び出されていません
- 29. AdMob onFailedToReceiveRefreshedAdが呼び出されていません
- 30. LocationListenerネットワークプロバイダが呼び出されていません
アクティビティでonTouch()およびonTouchEvent()をオーバーライドする理由は何ですか?アクティビティでsetOnTouchListener()を使用するべきではありませんか? –