मान लें कि मेरे पास एक कस्टम व्यू ग्रुप है जो फोकस करने योग्य है और इसमें कुछ बच्चे के विचार भी हैं जो फोकस करने योग्य हैं (Android सेट-टॉप-बॉक्स के लिए कस्टम वर्टिकल मेनू जो रिमोट कंट्रोलर पर प्रतिक्रिया देना चाहिए)।कस्टम व्यू ग्रुप फोकस हैंडलिंग
जब भी कस्टम व्यू ग्रुप फोकस प्राप्त करता है तो मुझे कुछ बच्चे के विचारों पर ध्यान केंद्रित करने की आवश्यकता होती है।
मैंने descendantFocusability
beforeDescendants
पर सेट किया है और OnFocusChangeListener
कस्टम व्यू ग्रुप पर सेट किया है लेकिन OnFocusChangeListener.onFocusChanged()
कभी नहीं कहा जाता है। ऐसा लगता है कि beforeDescendants
मेरी अपेक्षा के अनुसार काम नहीं करता है। असल में beforeDescendants
को afterDescendants
सेट करने जैसा ही काम करता है - फोकस निकटतम बच्चे के दृश्य द्वारा लिया जाता है और कस्टम व्यू ग्रुप को यह तय करने का अवसर नहीं है कि कौन से बच्चे के दृश्य को ध्यान में रखना चाहिए।
मैं वांछित व्यवहार कैसे प्राप्त कर सकता हूं? ViewGroup
एस में फ़ोकस को संभालने के लिए सर्वोत्तम प्रथाएं क्या हैं?
क्या आपको अपनी समस्या का समाधान मिला? मैं एक समान समस्या का हल ढूंढ रहा हूं। मैं जानना चाहता हूं कि व्यू ग्रुप "फोकस" कब होता है, यानी कोई बच्चा दृश्य फोकस नहीं करता है। – AlanKley
@AlanKley देर से प्रतिक्रिया के लिए खेद है ... दुर्भाग्य से मुझे इसके लिए कोई समाधान नहीं मिला। मैंने OnFocusChangeListener को सभी ViewGroup के बच्चों को सेट करके "हल किया" और श्रोता के अंदर तर्क (किस बच्चे को ध्यान केंद्रित करना चाहिए) ... यदि आपको कोई समाधान मिलता है, तो इसे यहां लिखने के लिए स्वतंत्र महसूस करें :) – traninho