तो मेरे पास 2 ListView
विगेट्स के साथ एक गतिविधि है, जब आप पहले में कोई मान चुनते हैं, तो दूसरा पहले ListView
में चयन से संबंधित मानों के साथ पॉप्युलेट किया जाता है। यह मैकेनिक बिना किसी समस्या के काम करता है, लेकिन अब मैं चाहता हूं कि उपयोगकर्ता विकल्प हाइलाइट रहें। मैं इस विषय से संबंधित प्रश्न का एक अच्छा राशि पढ़ा है और ऐसा लगता है तरीकों एक ऐसा कर सकते हैं के असंख्य लेकिन उन्हें की लगभग 4-5 कोशिश कर के बाद 'मैं अभी भी यह काम करने के लिए नहीं मिल सकता है।एंड्रॉइड - एक बार किसी पर क्लिक किए जाने पर ListView के आइटम को हाइलाइट किया गया
मैं इसे android:listSelector="#CCCCCC"
एक्सएमएल गुण का उपयोग कर दूसरी ListView
पर काम मिल गया है, लेकिन यह साफ किया जा करने के लिए एक बार एक OnItemClickListener
मिश्रण में शुरू की है (एक मैं अपनी पहली ListView
पर उपयोग की तरह) लगता है।
अब तक यहाँ मैं क्या कर लिया है:
कस्टम OnItemClickListener
मैं इस विषय (थोड़ा क्रम में इसे संशोधित यह मेरी जानकारी दूसरा ListView लोड करने के लिए) के बारे में ब्राउज़िंग विभिन्न जवाब मिला:
private class ItemHighlighterListener implements OnItemClickListener {
private View oldSelection = null;
public void clearSelection() {
if(oldSelection != null) {
oldSelection.setBackgroundColor(android.R.color.transparent);
}
}
public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
clearSelection();
oldSelection = view;
view.setBackgroundDrawable(view.getContext().getResources().getDrawable(R.drawable.list_selector));
loadClubs(mXMLPortalOptions.getRegion(pos).getId());
mClubList.setAdapter(new ArrayAdapter<String>(getApplicationContext(), R.layout.list_item_white, mClubs));
}
}
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true"><shape>
<solid android:color="#CCCCCC" />
</shape></item>
<item android:state_selected="false"><shape>
<solid android:color="#FFFFFF" />
</shape></item>
</selector>
विधि (OnItemClick) एक कहा जाता है:
यहाँ मेरी list_selector.xml
फ़ाइल है डी निष्पादित, लेकिन मेरे ListItem
की पृष्ठभूमि एक ही रंग में रहती है:/
मुझे विश्वास नहीं है कि यह सरल कार्य इतना जटिल साबित हुआ है।
मैं कोड है कि उपयोगी हो सकता है या अगर मेरे सवाल का विवरण कमी है नहीं दिखाए हैं, तो बात करने के लिए है कि बाहर के लिए स्वतंत्र महसूस और मैं अपने आप को समझाने के लिए मेरी भरपूर प्रयास करेंगे।
मुझे लगता है कि यह आपके द्वारा उपयोग किए जा रहे एसडीके के किस संस्करण से संबंधित है। – jsmith
एपीआई स्तर 7 जो मैं उपयोग कर रहा हूं। –
i.masm द्वारा पोस्ट में जो भी मैं सोच रहा था उसके लिए एक लिंक है। http://android-developers.blogspot.com/2008/12/touch-mode.html – jsmith