मेरे पास एक सूची दृश्य है कि मैं अपने डेटाबेस से मूल्यों के साथ पॉपुलटिंग कर रहा हूं। यदि डेटाबेस खाली है, तो मैं सूची दृश्य का पहला आइटम "कोई डेटा नहीं" पर सेट कर रहा हूं। मैं इस आइटम पर क्लिक करना अक्षम करना चाहता हूं। मैंने ArrayAdapter का उपयोग किया है। मैंने सभी आइटम्स बनाने की कोशिश की है, सक्षम है, लेकिन यह कोई उपयोग नहीं था। यहां तक कि अगर मैं ListView's isClickable सेट करता हूं और सेट को गलत पर सेट करता हूं, तो इसका कोई उपयोग नहीं है। और मैंने ऑनआईटमक्लिक लिस्टनर के लिए अन्य शर्त में कोड डाला, यहां तक कि सूची आइटम को क्लिक करने योग्य नहीं होने से रोकता है। क्या किसी के पास वैकल्पिक समाधान है? धन्यवाद!एंड्रॉइड में ListView पर क्लिक करने को अक्षम कैसे करें?
उत्तर
कर IsEnabled फ़ंक्शन का उपयोग ArrayAdapter झूठी वापस जाने के लिए:
@Override
public boolean isEnabled(int position) {
return false;
}
हमेशा मेरे लिए काम करता है।
आप के रूप में दिखाया खाली देखें सेट कर सकते हैं और यह अपने आप नियंत्रित किया जाएगा:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="8dp"
android:paddingRight="8dp">
<ListView android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"
android:drawSelectorOnTop="false"/>
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FF0000"
android:text="No data"/>
</LinearLayout>
मदद कर सकते हैं! यह न केवल प्रश्न का उत्तर दे रहा है बल्कि यह एक खाली सूची को संभालने का एक बेहतर तरीका भी सुझाता है! – chuky
शायद आप, अगर बयान OnClick में सूचीदृश्य प्रविष्टि की सामग्री की जाँच करने के लिए एक इस्तेमाल कर सकते हैं अगर यह 'शामिल नहीं डेटा 'कुछ भी नहीं है, और अपने कस्टम में हमेशा की तरह
उस सूची के लिए एडाप्टर बनाते हैं, और वहाँ इस विधि
public boolean isEnabled(int position);
ओवरराइड तो लौट false
जब आप क्लिक
सब आसान अक्षम करना चाहते हैं! list.setEnabled (गलत)
बहुत बहुत धन्यवाद! यह मेरे लिए काम किया, उपरोक्त सभी मेरे लिए काम नहीं किया .. –
बुरा! यह स्क्रॉलिंग रोकता है। –
मैं अपने आवश्यकता के अनुसार इस तरह से किया था यह स्वीकार किए जाते हैं जवाब होना चाहिए आशा है कि यह आप कुछ कैसे
@Override
public boolean isEnabled(int position) {
if(data.get(position).isClickable==false)
{
return false;
}
return super.isEnabled(position);
}
मेरे लिए भी काम किया !! –
रॉकिंग ... यह ठीक काम है .. – vabhavsingh
अक्षम करने के बाद मैं फिर से सक्षम कैसे कर सकता हूं? –