2011-12-05 4 views
6

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

कुछ इस तरह:

--------------- 
|    | 
|   ___ | 
|  | | | 
--------------- 

सब कुछ पूरी तरह से काम करता है लेकिन समस्या यह है कि जब मैं माता पिता के रिश्तेदार लेआउट पर क्लिक करें, बच्चे चयनकर्ता माता पिता चयनकर्ता के राज्य मान लिया गया है। मैंने

android:duplicateParentState="false" 

बच्चे पर सेट करने की कोशिश की लेकिन कुछ भी नहीं बदला है।

कोई विचार? अग्रिम धन्यवाद

उत्तर

2

क्या आप अपना लिस्ट व्यू आइटम और चयनकर्ताओं का कोड दिखा सकते हैं? मेरे दिमाग में आपने कुछ गलतियां की हैं, इसे लागू करते समय। यहां आइटम और उसके चयनकर्ताओं का मेरा उदाहरण दिया गया है। यह मेरे लिए ठीक काम करता है:

वीडियो, कैसे मेरे कार्यान्वयन काम करता है: >click to open<

list_view_item.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:padding="40dp" 
    android:background="@drawable/relative_selector"> 

    <RelativeLayout 
     android:layout_width="300dp" 
     android:layout_height="100dp" 
     android:background="@drawable/child_selector_1" 
     android:clickable="true"> 

     <RelativeLayout 
      android:layout_width="100dp" 
      android:layout_height="100dp" 
      android:layout_centerHorizontal="true" 
      android:background="@drawable/child_selector_2" 
      android:clickable="true"/> 
    </RelativeLayout> 
</RelativeLayout> 

relative_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_pressed="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_blue_bright" /> 
      </shape> 
     </inset> 
    </item> 
</selector> 

child_selector_1.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

    <!-- pressed state --> 
    <item android:state_pressed="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_orange_dark" /> 
      </shape> 
     </inset> 
    </item> 

    <!-- focused state --> 
    <item android:state_focused="true"> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_orange_dark" /> 
      </shape> 
     </inset> 
    </item> 

    <!-- normal state --> 
    <item> 
     <inset xmlns:android="http://schemas.android.com/apk/res/android"> 
      <shape android:shape="rectangle"> 
       <solid android:color="@android:color/holo_red_dark" /> 
      </shape> 
     </inset> 
    </item> 
</selector>