2012-05-15 17 views
15

चुनते समय पैरेंट चयनकर्ता ट्रिगर करें मेरे पास कुछ अन्य रैखिक Layouts के साथ एक लीनियरआउट है। बच्चों के लेआउट में पृष्ठभूमि चयनकर्ता सेट होता है। बच्चों को दबाए जाने पर मुझे पैरेंट लेआउट का रंग बदलना होगा। मैंने माता-पिता के लिए पृष्ठभूमि चयनकर्ता भी सेट किया है, लेकिन यह किसी भी बच्चे के बाहर क्लिक करते समय केवल ट्रिगर करता है।एंड्रॉइड: बच्चे

मैं इससे कैसे बच सकता हूं?

धन्यवाद!

उत्तर

39

लेआउट को यह जोड़ने की कोशिश माता पिता LinearLayout के लिए जिम्मेदार बताते हैं:

android:addStatesFromChildren="true" 

वैकल्पिक रूप से, कोड कॉल में:

parentLayout.setAddStatesFromChildren(true); 

या तो मामले में, यह सुनिश्चित करें कि बच्चे को लेआउट करना नहीं android:duplicateParentState विशेषता सेट (और setDuplicateParentState(true) पर कॉल न करें), या सिस्टम को परिपत्र निर्भरता का पता लगाने पर रन टाइम पर अपवाद प्राप्त होगा।

+0

आप इसके विपरीत कैसे करेंगे: कंटेनर को छूते समय बच्चे के चयनकर्ता को ट्रिगर करें? –

+0

@androiddeveloper - आप बच्चे में 'android: duplicateParentState' का उपयोग कर सकते हैं। उसके बाद बच्चे अपने माता-पिता के बजाय अपने माता-पिता को खींचने योग्य राज्य का उपयोग करेगा। तब माता-पिता को क्लिक करने योग्य, चयन करने योग्य, या जो कुछ भी आपको बच्चे की आवश्यकता होती है। –

+0

मैं देखता हूं। क्या चयनकर्ता को शीर्ष पर सेट करना संभव है? साथ ही, सूची दृश्य वस्तुओं के लिए एक अलग समाधान है (जहां प्रत्येक आइटम एक दृश्य के साथ एक लेआउट है जैसा मैंने यहां लिखा है)? –

संबंधित मुद्दे