जवाबों:
से घटना श्रोता :
onLongClick () - यह इंगित करने के लिए एक बूलियन देता है कि क्या आपने घटना का सेवन किया है और इसे आगे नहीं ले जाना चाहिए। यही है, यह इंगित करने के लिए सही लौटें कि आपने घटना को संभाला है और इसे यहाँ रुकना चाहिए; यदि आपने इसे संभाला नहीं है तो झूठी वापसी करें और / या इस घटना को किसी अन्य ऑन-क्लिक श्रोताओं को जारी रखना चाहिए।
क्या आप अपने true
से लौट रहे हैं onLongClick()
और अभी भी सामान्य क्लिक ईवेंट प्राप्त कर रहे हैं?
जोड़ने के लिए संपादित : एक सूची दृश्य के लिए, आप उपयोग कर सकते हैं OnItemLongClickListener
। यह onItemLongClick()
इंगित करने के लिए कि घटना का सेवन किया गया है, एक समान बूलियन रिटर्न मूल्य का उपयोग करता है।
सरल शब्दों में उत्तर को बहाल करना:
दिया हुआ:
@Override
public boolean onLongClick(View view) {
return true; // or false
}
return true
इसका मतलब है कि घटना का उपभोग किया जाता है। इसे संभाला जाता है। कोई अन्य क्लिक इवेंट अधिसूचित नहीं किया जाएगा।return false
इसका मतलब है कि घटना का उपभोग नहीं किया गया है। कोई भी अन्य क्लिक ईवेंट सूचनाएँ प्राप्त करता रहेगा।इसलिए यदि आप किसी के onClick
बाद भी ट्रिगर नहीं होना चाहते हैं onLongClick
, तो आपको इवेंट return true
से onLongClick
हटना चाहिए ।
सुनिश्चित करें कि आप OnClickListener
अपनी onClick
विधि के लिए ओवरराइड कर रहे हैं । यह भी सुनिश्चित करें कि आप OnLongClickListener
अपने onLongClick
तरीके के लिए ओवरराइड कर रहे हैं । और सुनिश्चित करें कि आपकी onLongClick
विधि वापस आती है true
, क्योंकि यह उपभोग करेगा onClick
।
आप setOnLongClickListener
एक उदाहरण बना सकते हैं new View.OnClickListener()
या new View.OnLongClickListener()
, यदि आप एक लॉन्ग क्लिक बनाते हैं और एक सामान्य ओनलीक्लिस्टेनर को लागू करते हैं, तो आपको विधि को सक्रिय करने वाले सिंगल क्लिक की यह त्रुटियां मिलेंगी। आपको new View.OnLongClickListener()
केवल लंबे क्लिक पकड़ने के लिए उपयोग करना चाहिए
myListView.setOnItemLongClickListener(this);
विकल्प सेट करने के लिए , आपको फ़ंक्शन को ओवरराइड करना होगाpublic boolean onItemLongClick(...)
। यहां आपको बसreturn true
यह इंगित करने की आवश्यकता है कि लॉन्गक्लिक सक्रिय हो गया था और नियमित क्लिक पर ट्रिगर को रद्द कर देगा। यदि आप झूठे लौटते हैं तो यह नियमित क्लिक को भी ट्रिगर करेगा।