मेरे आवेदन में मैं टैबलेट पर जीमेल ऐप के समान कुछ करना चाहता हूं, बाईं ओर वस्तुओं की सूची और दाईं ओर एक टुकड़ा रखने के अधिकार में उस आइटम की सामग्री, जैसे जीमेल ऐप के लिए यह सामग्री चयन के बाद डाउनलोड की जा रही है। एक आइटम पर क्लिक करने के बाद, मैं इसे तब तक हाइलाइट करना चाहता हूं जब तक कि मैं चयन को बदल नहीं लेता। मैं एक बिंदु पर पहुंच गया जहां यह काम करता है, लेकिन केवल अगर मैं एक ही आइटम पर दो बार क्लिक करता हूं, तो पहले मैं क्लिक करता हूं, चयन कार्य करता है और फिर आइटम वापस 'डिफ़ॉल्ट' स्थिति पर जाता है और यदि मैं उस पर फिर से क्लिक करता हूं, तो चयनकर्ता (के लिए चयनित राज्य) दृश्यमान है।एंड्रॉइड: सेट सूची दृश्य आइटम को "चयनित" (हाइलाइट किया गया)
यह वही है मैं अब तक है:
1) चयनकर्ता (listitem_background.xml)
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/solid_white" android:state_pressed="false" android:state_selected="false"/>
<item android:drawable="@drawable/listitem_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/listitem_focused" android:state_selected="true"/>
</selector>
2) सूची आइटम के शीर्ष रेखीय लेआउट के लिए:
android:background="@drawable/listitem_background"
(मैंने इसे सूचियों के रूप में सेट करने का प्रयास किया, साथ ही)
3) यह सूची दृश्य है:
<ListView
android:id="@+id/my_list_view"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:choiceMode="singleChoice"
android:dividerHeight="1dp"
android:drawSelectorOnTop="true"
android:fadeScrollbars="true"
android:fastScrollEnabled="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:scrollbarFadeDuration="100"
android:scrollbars="vertical" />
4) कोड भाग में मैं इस के साथ खेलने की कोशिश की:
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
view.setSelected(true);
...
}
[संपादित करें] वास्तव में मैंने देखा है कि चयन सही में टुकड़ा के लिए प्रतिबद्ध के बाद खो दिया है स्क्रीन के किनारे। मैं टुकड़ा यह एक आकर्षण की तरह काम करता प्रतिबद्ध नहीं है ... मुझे लगता है कि मैं चयनकर्ता में कुछ इस तरह की जरूरत है:
<item android:drawable="@drawable/listitem_focused" android:state_activated="true" android:state_focused="false"/>
लेकिन स्पष्ट रूप से यह नहीं ...
धन्यवाद मदद कर सकता है। यह मेरे लिए काम किया :) –
एपीआई 8 –