2013-01-24 10 views
5

アクティビティでダブルタップイベントを使用するにはどうすればよいですか?ダブルタップイベントまたは長いクリックメソッドが機能しています(メソッドはオーバーライドされていますが)。私はこれらのメソッドのそれぞれでトーストメッセージを入れましたが、結果はありません。手伝ってくれますか?Androidダブルタップ

+2

いくつかコードを投稿できますか? –

+2

ゾンビが死んでいることを確認する必要がありますか?通常、ロングプレスはAndroidで使うべきものです(ただし、ゾンビで試してはいけません)。 –

答えて

9

ダブルタップを行う最も簡単な方法は、GestureDetectorで検出することです。 「トリック」は、アクティビティのonTouchEventをGestureDetectorのonTouchEventに委譲することです。

import android.app.Activity; 
import android.os.Bundle; 
import android.view.GestureDetector; 
import android.view.MotionEvent; 
import android.widget.Toast; 

public class MainActivity extends Activity { 

    private GestureDetector gestureDetector; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     gestureDetector = new GestureDetector(this, new GestureDetector.SimpleOnGestureListener() { 
      @Override 
      public boolean onDoubleTap(MotionEvent e) { 
       Toast.makeText(MainActivity.this, "double tap", Toast.LENGTH_SHORT).show(); 
       return true; 
      } 
     }); 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     if (gestureDetector.onTouchEvent(event)) 
      return true; 
     return super.onTouchEvent(event); 
    } 
} 
関連する問題