Friday 15 February 2013

java - Hide some elements in a Spinner -


मेरे पास एक वर्ग है जिसमें एक निजी बूलीयन और एक ArrayList । मैं स्पिनर को मेरे ArrayList में स्थित तत्वों के साथ आबाद करना चाहता हूं, लेकिन अगर बूलीयन सच है, तो मैं सभी तत्वों को दिखाना चाहता हूं, अन्यथा मैं किसी श्रेणी में कुछ तत्व छिपाना चाहते हैं। मैंने निम्नलिखित की कोशिश की:

  स्पिनर मोडस्पीनर = (स्पिनर) v.findViewById (R.id.btn_setup_mode_spinner); ArrayList & LT; स्ट्रिंग & gt; ModeList = enc.getModes (); ArrayAdapter & LT; स्ट्रिंग & gt; ModeAdapter = नया अर्रेएडप्टर & lt; स्ट्रिंग & gt; (v.getContext (), android.R.layout.simple_spinner_item, modeList); modeAdapter.setDropDownViewResource (android.R.layout.simple_dropdown_item_1line); modeSpinner.setAdapter (modeAdapter); अगर (! बूलियन) {for (int i = 4; i & lt; 8; i ++) {modeAdapter.remove ((स्ट्रिंग) मोड एडेप्टर .getItem (i)); modeAdapter.notifyDataSetChanged (); }}   

लेकिन यह काम नहीं करता है। ऐसा करने का सही तरीका कौन सा है? अपडेट: वर्किंग कोड

  स्पिनर मोडस्पीनर = (स्पिनर) v.findViewById (R.id.btn_setup_mode_spinner); ArrayList & LT; स्ट्रिंग & gt; ModeList = enc.getModes (); ArrayAdapter & LT; स्ट्रिंग & gt; मोडएडैप्टर = नया अर्रे एडाप्टर & lt; स्ट्रिंग & gt; (v.getContext (), android.R.layout.simple_spinner_item, modeList); modeAdapter.setDropDownViewResource (android.R.layout.simple_dropdown_item_1line); modeSpinner.setAdapter (modeAdapter); यदि (! बूलियन) {for (int i = 4; i & lt; modeList.size (); i ++) {modeAdapter.remove (modeList.get (i)); modeAdapter.notifyDataSetChanged (); मैं--; }}    

आपको एडेप्टर से एडाप्टर स्ट्रिंग्स को हटाना नहीं चाहिए, लेकिन ऑब्जेक्ट जिसे आप जल्दी जोड़ते हैं

इसे आज़माएं: modeAdapter.remove (modeList.get (i));

No comments:

Post a Comment