जवाबों:
से घटना श्रोता :
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यह इंगित करने की आवश्यकता है कि लॉन्गक्लिक सक्रिय हो गया था और नियमित क्लिक पर ट्रिगर को रद्द कर देगा। यदि आप झूठे लौटते हैं तो यह नियमित क्लिक को भी ट्रिगर करेगा।