GestureDetector を使用してスクロール ジェスチャを検出するコード スニペットがあります。スクロールアクティビティを1回ではなく3回検出することを除いて、機能します。
一度だけ検出するにはどうすればよいですか?スクロール アクティビティ (log.i 行) を 3 回ログに記録し、サウンド (mp.start) を 1 回ではなく 3 回再生します。また、アプリケーションが強制的に閉じられます。
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
//get x and Y co-ordinates and log it as info.
float x1 = e1.getX();
float y1 = e1.getY();
float x2 = e2.getX();
float y2 = e2.getY();
Log.i("Scroll_Gesture", "Scrolled from: (" + x1 + "," + y1 + " to " + x2 +"," + y2 + ")");
mp = MediaPlayer.create(this, R.raw.scroll_success);
mp.start();
//start success page
Intent intent = new Intent(this, ScrollSuccess.class);
startActivity(intent);
return false;
}