मेरे पास वर्तमान में ListView
है, जो ListView
के OnItemLongClickListener
में एक प्रासंगिक ActionBar
सक्रिय करता है।isItem चेक किया गया है हमेशा एक इटैमक्लिक लिस्टनर के अंदर क्या होता है इसके विपरीत देता है?
मैं इसे बनाने की कोशिश कर रहा हूं ताकि आइटम उन पर क्लिक करके चुना जा सके, लेकिन केवल जब प्रासंगिक ActionBar
ऊपर हो।
समस्या यह है कि, जब मैं isItemChecked()
की जांच करता हूं, ताकि आइटम के चयन स्थिति को टॉगल करने के लिए, यह हमेशा इसके विपरीत होने के विपरीत लौटाता है।
list.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (mActionMode != null){
list.setItemChecked(position, !list.isItemChecked(position));
}
else{
list.setItemChecked(position, false);
}
}
});
संपादित करें: यह सुंदर bizzare है .. इस कोड टॉगल चयन राज्य:
list.setItemChecked(position, list.isItemChecked(position));
क्या जा रहा है
यहाँ मैं कैसे क्रियान्वित किया है OnItemClickListener
है पर!?
संपादित करें 2: आह, ऐसा लगता है कि एंड्रॉइड स्वचालित रूप से प्रत्येक आइटम को स्वचालित रूप से जांच रहा है और अनचेक कर रहा है ... क्या इस व्यवहार को बदलने और इसे स्वयं संभालने का कोई तरीका है? लाइन
list.setItemChecked(position, !list.isItemChecked(position));
आप स्पष्ट रूप से नकारने से क्या isItemChecked
रिटर्न के विपरीत करने के लिए यह तय कर रहे हैं में निर्दिष्ट स्थान
की जाँच की राज्य सेट:
हमें समझने की जरूरत है कि mctionMode विधि में क्या है, क्योंकि यह ट्रिगर कर रहा है कि चेकबॉक्स चेक किया जाना चाहिए या नहीं। क्या आप 'mActionMode()' विधि के लिए कोड शामिल करने में सक्षम हैं? धन्यवाद। –