前提・実現したいこと
フリックを検出したいです
発生している問題・エラーメッセージ
D/tag: onTouchEvent:
とは出力されるものの、
D/tag: onFlingEvent:
と出力してくれません
該当のソースコード
Java
1package com.chankane.chocolate.brawny.spinner; 2 3import android.content.Context; 4import android.graphics.Canvas; 5import android.graphics.Color; 6import android.graphics.Paint; 7import android.graphics.PointF; 8import android.util.Log; 9import android.view.GestureDetector; 10import android.view.MotionEvent; 11import android.view.View; 12 13class MainView extends View { 14 15 // タッチイベントを処理するためのインタフェース 16 private GestureDetector gestureDetector; 17 18 public MainView(Context context) { 19 super(context); 20 paint = new Paint(); 21 gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() { 22 // フリックイベント 23 @Override 24 public boolean onFling(MotionEvent event1, MotionEvent event2, float velocityX, float velocityY) { 25 Log.d("tag", "onFling: "); // こちらは表示されない 26 return false; 27 } 28 }); 29 } 30 31 @Override 32 public boolean onTouchEvent(MotionEvent event) { 33 Log.d("tag", "onTouchEvent: "); // こちらは表示される 34 return gestureDetector.onTouchEvent(event); 35 } 36} 37
なお、MainActivity
ではこのように呼んでいます
Java
1setContentView(new MainView(this));
試したこと
MainActivity
に直接書いたら期待通りの動作になりました
しかし、クラス分けはきちんとしたいです
あなたの回答
tips
プレビュー