ज्यादातर परिस्थितियों में, मैं मुख्य घटनाओं को (बच्चे) दृश्य द्वारा संसाधित करना चाहता हूं जो वर्तमान में ध्यान केंद्रित कर रहा है, जो डिफ़ॉल्ट व्यवहार है, और यह भी है जो मैंने वर्तमान में लागू किया है।एंड्रॉइड में, क्या वे बच्चे के दृश्य तक पहुंचने से पहले विश्व स्तर पर एक इंटरसेप्ट कुंजी घटनाएं कर सकते हैं जो फोकस है?
हालांकि, कुछ बहुत ही विशिष्ट परिस्थितियों में, मैं अस्थायी रूप से सभी महत्वपूर्ण घटनाओं (विशेष रूप से उन लोगों को सामान्य रूप से बच्चों के विचारों से संभाला जाता है) को अस्थायी रूप से अवरुद्ध करना और संभालना चाहता हूं, या तो मेरी मूल गतिविधि में, कोई फर्क नहीं पड़ता, जब तक वे वैश्विक रूप से संसाधित होते हैं - मुझे वॉल्यूम +/- जैसे हार्डवेयर बटनों की परवाह नहीं है, क्योंकि इन्हें किसी भी बच्चे के विचारों में किसी भी तरह से संभाला नहीं जाता है)।
के लिए स्पर्श घटनाओं, हम onInterceptTouchEvent() है, जो एक ViewGroup के रूप में वे बच्चे विचारों को भेज दिया जाता है स्पर्श घटनाओं को देखने के, और बच्चे देखा गया उन घटनाओं (जब आवश्यक होने पर) की प्राप्ति ब्लॉक करने के लिए अनुमति देता है जिसके लिए वे अभीष्ट है।
दुर्भाग्य से, मुझे मुख्य घटनाओं के लिए InterceptTouchEvent() पर समान कुछ नहीं मिल रहा है। क्या मुझे कुछ स्पष्ट याद आ रही है, या क्या यह ओएस में वास्तविक असमानता है?
बेशक, मैं केवल हर गतिविधि के वर्तमान कुंजी ईवेंट हैंडलर कोड को सीधे मुख्य गतिविधि पर एक विधि को कॉल करने के लिए तार कर सकता हूं ताकि ईवेंट को संभालने के लिए, और उस गतिविधि-स्तरीय विधि को बुलियन यह इंगित करता है कि यह घटना को संभाला है या नहीं। फिर, बच्चे का दृश्य घटना को संभाल सकता है अगर केवल और यदि गतिविधि विधि को लागू किया गया था तो इसे संभाला नहीं गया था।
लेकिन मुझे उम्मीद है कि बच्चे के दृश्य के पदानुक्रम को "नीचे" यातायात को आसानी से रोकने के लिए एक क्लीनर तरीका है, जैसे इंटेरसेप्ट टचवेन्ट() स्पर्श घटनाओं के लिए करता है।
ध्यान दें कि मुझे जवाब में भी रूचि है कि यह बताता है कि यह * नहीं किया जा सकता है। यदि सत्यापित है, तो ऐसा उत्तर भी स्वीकार किया जा सकता है। – Carl
मुझे यह जानने के लिए भी उत्सुकता है कि यह क्षमता स्पर्श घटनाओं के लिए क्यों मौजूद होगी, लेकिन महत्वपूर्ण घटनाओं के लिए नहीं, अगर वास्तव में यह मामला है। – Carl