2012-06-03 14 views
8

मेरे पास तीन आइटम वाले स्पिनर हैं और मैं इसे खाने के लिए एक्सएमएल स्ट्रिंग-एरे संसाधन का उपयोग करता हूं। जब आप कोई गतिविधि खोलते हैं तो स्पिनर आमतौर पर सरणी सूची में मौजूद पहला आइटम दिखाता है। मैं इसे बदलना चाहता हूं और एक आइटम का चयन करने से पहले, स्पिनर में "एक का चयन करें" टेक्स्ट दिखाऊंगा।आइटम का चयन करने से पहले स्पिनर का टेक्स्ट सेट करें

मैं यह कैसे कर सकता हूं?

+0

[एंड्रॉइड स्पिनर बुद्धि कैसे बनाएं] का संभावित डुप्लिकेट एच प्रारंभिक पाठ "एक का चयन करें"] (http://stackoverflow.com/questions/867518/how-to-make-an-android-spinner-with-initial-text-select-one) – blahdiblah

उत्तर

9

आपको लगता है कि दो में से एक तरीके से कर सकते हैं।

1) अपने एक्सएमएल में पहले आइटम के रूप में "एक चुनें" जोड़ें और अपने श्रोता को चयन के रूप में अनदेखा करने के लिए कोड करें।

2), पहली पंक्ति के रूप में यह डालने के लिए एक कस्टम एडाप्टर बनाएं

संपादित

अपने संसाधनों

<string-array name="listarray"> 
    <item>Select One</item> 
    <item>Item One</item> 
    <item>Item Two</item> 
    <item>Item Three</item> 
</string-array> 

अपने onItemSelected श्रोता में:

spinnername.setOnItemSelectedListener(new OnItemSelectedListener() { 
@Override 
    public void onNothingSelected(AdapterView<?> parent) { 
    } 
    @Override 
    public void onItemSelected(AdapterView<?> parent, View view, int pos, long id) { 
     if (pos == 0) { 
     }else { 
      // Your code to process the selection 
     } 
    } 
}); 
+0

क्या स्ट्रिंग संसाधन से इसे सम्मिलित करने का कोई तरीका है? – JohnD

+0

हाँ, बस इसे अपने सर संसाधन में प्रविष्टियों में से पहला जोड़ें। मैंने एक उदाहरण प्रदान करने के लिए अपना जवाब संपादित किया। – Barak

+0

क्या इससे आपकी समस्या हल हो गई? – Barak

1

स्पिनर के लिए एक डिफ़ॉल्ट पाठ सेट करने के लिए आपको अपने स्पिनर के लिए android:[email protected]/SelectOne का उपयोग करना होगा जहां SelectOne को आपकी string.xml में परिभाषित किया गया है।

उदाहरण:

<Spinner android:id="@+id/spinnerTest" 
android:layout_marginLeft="50px" 
android:layout_width="fill_parent"     
android:drawSelectorOnTop="true" 
android:layout_marginTop="5dip" 
android:prompt="@string/SelectOne" 
android:layout_marginRight="30px" 
android:layout_height="35px" 
/> 
+0

ओपी क्या चाहता था। वह इसे स्पिनर में चाहता है, इसके लिए हेडर के रूप में नहीं। – Barak

+0

हां, यह सही है। – JohnD

+1

इस पोस्ट को चेक करें, यह आपके इच्छित चीजों को करने के लिए मातृभाषा प्रदान करता है। http://stackoverflow.com/questions/867518/how-to-make-an-android-spinner-with-initial-text-select-one – 113408

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