2013-01-24 25 views
5

मैं गतिविधि में डबल टैप ईवेंट का उपयोग कैसे करूं? डबल टैप इवेंट या लांग क्लिक विधि काम कर रही है (हालांकि विधि ओवरराइड हो रही है) मैंने इन तरीकों में से प्रत्येक में टोस्ट संदेश डाला है और फिर भी कोई परिणाम नहीं है! क्या आप मदद कर सकते हैं?एंड्रॉइड डबल टैप

+2

क्या आप कुछ कोड पोस्ट कर सकते हैं? –

+2

यह सुनिश्चित करने की आवश्यकता है कि ज़ोंबी मर चुका है? आम तौर पर एक लंबी प्रेस वास्तव में आपको एंड्रॉइड पर क्या उपयोग करना चाहिए (यद्यपि इसे ज़ोंबी पर न करें)। –

उत्तर

9

डबल-टैप करने का सबसे आसान तरीका यह है कि इसे एक जेस्चरडेक्टर के साथ पहचानना है। "चाल" यह सुनिश्चित करना है कि आप गतिविधि के ऑन टचएवेंट को जेस्चरडिएक्टर के ऑन टचएवेंट पर प्रतिनिधि दें:

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); 
    } 
}