2011-12-13 27 views
5

में रहस्यमय व्यवहार को हाइलाइट करें मैंने एक सरल ListView के लिए एक कस्टम सूची चयनकर्ता सेट किया है, लेकिन जब मैं कोई आइटम चुनता हूं, तो संपूर्ण ListView नीला हो जाता है। मुझे समझ में नहीं आता कि समस्या कहां है।ListView

यह मेरा ListView है:

<ListView android:id="@+id/TopListView" android:layout_width="fill_parent" 
    android:listSelector="@drawable/regular_selector" 
    android:layout_height="wrap_content"> 
</ListView> 

और यह regular_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:state_enabled="false" android:state_focused="true" 
     android:drawable="@color/transparent" /> 
    <item android:state_pressed="true" 
     android:drawable="@color/blue" /> 
    <item android:state_focused="true" 
     android:drawable="@color/blue" /> 
</selector> 
+0

आप: मजे की बात है कि यह केवल नीचे एपीआई 11.

समाधान हुआ रंग रैप करने के लिए एक ठोस आकार drawable का उपयोग किया गया सोलन मिला? यदि नहीं, तो आप बता सकते हैं कि आपका अपेक्षित परिणाम क्या है? – havexz

उत्तर

0

मुझे लगता है कि यह सामान्य समस्या है। आप अपने सूचीदृश्य में इस सेट करने के लिए:

android:cacheColorHint="#00000000" 

लक्ष्य एक अनुकूलन है कि ढांचे स्क्रॉल आपरेशनों के दौरान ड्राइंग के प्रदर्शन में सुधार के लिए करता है निष्क्रिय करने के लिए है।

+0

यह वही परिणाम है ... – Maxime

0

जब मैं regular_selector.xml को सूचीदृश्य आइटम पृष्ठभूमि के रूप में सेट करता हूं तो यह काम करता है!

8

पृष्ठभूमि के रूप में रंग का उपयोग करते समय मुझे संपूर्ण सूची दृश्य हाइलाइटिंग का एक ही मुद्दा था।

list_selector_shaped_background_press.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" > 
    <solid android:color="@color/list_selector_pressed"/> 
</shape> 

List_selector_background.xml

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

     <item android:state_window_focused="false" 
     android:drawable="@android:color/transparent" /> 

    <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. --> 
    <item android:state_focused="true" android:state_enabled="false" 
     android:state_pressed="true" 
     android:drawable="@drawable/list_selector_background_disabled" /> 
    <item android:state_focused="true" android:state_enabled="false" 
     android:drawable="@drawable/list_selector_background_disabled" /> 

    <!-- this has to be in a shaped drawable otherwise the whole list is highlighted selects --> 
    <item android:state_focused="true" android:state_pressed="true" 
     android:drawable="@drawable/list_selector_shaped_background_pressed" /> 

     <item android:state_focused="false" android:state_pressed="true" 
     android:drawable="@drawable/list_selector_shaped_background_pressed" /> 

    <item android:state_focused="true" 
     android:drawable="@drawable/list_selector_background_focus" /> 

</selector> 
तो
+0

बहुत बहुत धन्यवाद ... मैं अब कुछ हफ्तों से समाधान ढूंढ रहा था। यह वास्तव में मदद की! :) – Scrat