2011-10-15 14 views
6

के साथ हाइलाइट सूची आइटम रखें, मैं Google (एंड्रॉइड 3) से नए टुकड़े का उपयोग करके एक स्प्लिटव्यू लागू कर रहा हूं।SimpleCursorAdapter

जब उपयोगकर्ता सूची से कुछ चुनता है तो यह विवरण क्षेत्र में दिखाया गया मूल्य है और सूची आइटम हाइलाइट रखें

जब मैं सरणी अनुकूलक इस्तेमाल किया रखने सूची आइटम जोड़ने के बाद ध्यान केंद्रित है निम्नलिखित:

getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE); 
getListView().setItemChecked(postition, true); 

लेकिन जब मैं SimpleCursorAdapterका उपयोग कर डेटाबेस का उपयोग करने और कस्टम पंक्ति एक्सएमएल फ़ाइल यह विशेषता है बस जब मैं प्रेस को बदलने ।

उत्तर

9

आप अपनी सूची पंक्ति के लिए सक्रिय शैली निर्धारित करने की आवश्यकता "मैं सूची दृश्य में प्रकाश डाला आइटम रखना चाहते हैं"। पकड़ यह है कि यह केवल एपीआई स्तर 11 और उच्चतर पर उपलब्ध है।

ऐसा करने का एक तरीका दो अलग शैलियों का उपयोग करना है। res/values-v11/styles.xml में, आप हो सकता है:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="activated" parent="android:Theme.Holo"> 
    <item name="android:background">?android:attr/activatedBackgroundIndicator</item> 
    </style> 
</resources> 

res/values/styles.xml जबकि आप होगा:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="activated"> 
    </style> 
</resources> 

आपका पंक्ति लेआउट तो प्रयोग करेंगे कि activated शैली, जैसे:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/text1" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:textAppearance="?android:attr/textAppearanceLarge" 
    android:gravity="center_vertical" 
    android:layout_marginLeft="4dip" 
    android:minHeight="?android:attr/listPreferredItemHeight" 
    style="@style/activated" 
/> 

के साथ संयुक्त अपने मौजूदा CHOICE_MODE_SINGLE तर्क, यह आपकी पंक्ति को टैप किए जाने के बाद सक्रिय कर देगा।

+0

धन्यवाद मैं इसे जांचता हूं और प्रश्न के साथ यू को वापस लेता हूं या स्वीकार करता हूं। – Alex

+0

धन्यवाद यह काम किया गया है लेकिन चिह्न का रंग कैसे बदलें और मूल्यों का अर्थ क्या है- v11 – Alex

+1

@ahmed: "चिह्न का रंग कैसे बदलें" - शैली बिंदुओं में 'android: background' मान को बदलें सेवा मेरे। अभी, यह सिस्टम-परिभाषित थीम से एक मान ('android: attr/activatedBackgroundIndicator') को इंगित करता है। "मूल्यों का अर्थ क्या है- v11" - एंड्रॉइड उस निर्देशिका में संसाधनों का उपयोग एपीआई स्तर 11 और उसके बाद वाले उपकरणों पर करेगा। पुराने डिवाइस उस निर्देशिका को अनदेखा करेंगे। – CommonsWare

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