2012-11-10 42 views
5

मैं एक ऐसी सुविधा विकसित करने की कोशिश कर रहा हूं जहां किसी आइटम का एक टैप किसी अन्य गतिविधि पर जाने के इरादे को कॉल करेगा, और आइटम की एक लंबी प्रेस या डबल टैप कुछ और करता है, जैसे कि आप टेक्स्ट को संपादित करने की अनुमति देते हैं।एंड्रॉइड: एकल टैप और लंबी प्रेस/डबल टैप के लिए दो अलग-अलग ईवेंट?

अभी तक मैं केवल एक ही समय में होने के लिए ही नहीं बल्कि व्यक्तिगत रूप से दोनों को प्राप्त करने में सक्षम हूं। क्या किसी के पास कोई विचार है?

public boolean onTouchEvent(MotionEvent e) { 
    return gestureScanner.onTouchEvent(e); 
} 


public boolean onSingleTapConfirmed(MotionEvent e) { 
    Intent i = new Intent(getContext(), SecondClass.class); 
    getContext().startActivity(i); 

    return true; 
} 

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return false; } 
public void onLongPress(MotionEvent e) { 
    Toast.makeText(getContext(), "Edit feature here", Toast.LENGTH_SHORT).show(); 

} 
+0

पोस्टोमोड, इसलिए मैं इसे – RajeshVijayakumar

उत्तर

6

मैं समस्या को हल करने में कामयाब रहा। यह सब कुछ करने के लिए मुझे से true से onDown() हैंडलर में वापसी मूल्य बदलना है।

public boolean onTouchEvent(MotionEvent e) { 
    return gestureScanner.onTouchEvent(e); 
} 

public boolean onSingleTapConfirmed(MotionEvent e) { 

    Intent i = new Intent(getContext(), SecondClass.class); 
    getContext().startActivity(i); 

    return true; 
} 

public boolean onDown(MotionEvent e) { return true; } 


public void onLongPress(MotionEvent e) { 
    Toast.makeText(getContext(), "Edit Feature", Toast.LENGTH_SHORT).show(); 

} 
+0

मेरे लिए भी काम किया। –

4

एक GestureDetector का प्रयोग करें, SimpleOnGestureListener तरीकों कि आप onSingleTapConfirmed(), onLongPress(), और onDoubleTap() साथ चाहते हैं।

+2

सुधार सकता हूं, मैं एक जेस्चरडेक्टर का उपयोग कर रहा हूं। अगर मैंने अपने इरादे को ऑनलिंगटैप कॉन्फिगर() विधि में रखा है तो यह कुछ भी नहीं करता है। यह सिर्फ एक ही टैप पर ऑन लोंगप्रेस() काम करता है: –

+0

मैंने कोड जोड़ा है। –

+0

आप इसे किस प्रकार का दृश्य जोड़ रहे हैं? ऐसा लगता है कि आप एक टेक्स्ट व्यू चाहते हैं जो लंबे समय तक एक संपादन टेक्स्ट बन सकता है। – Sam