दिलचस्प पोस्ट
प्रोग्रामिंग ऐप (आईफ़ोन) को खोलने MongoDB में खोज / प्रक्षेपण करते समय मैं फ़ील्ड का नाम कैसे बदल सकता हूँ? इनपुट फ़ील्ड में टाइप किए जाने से अवैध वर्णों को कैसे रोकें? सी # डेस्कटॉप अनुप्रयोग में एम्बेड करने के लिए सबसे अच्छी स्क्रिप्टिंग भाषा क्या है? पृष्ठभूमि छवि पर सीएसएस ढाल का उपयोग करें रिजेक्स के साथ उच्चारण वाले वर्णों को कैसे मिलान करें? XML फ़ाइल को पार्स करने के दौरान सीडीटा सामग्री प्राप्त करना अन्य डेवलपर्स के लिए एक ढांचा या लायब्रेरी कैसे तैयार करें, सुरक्षित तरीके से? Google एपीआई क्लाइंट का उपयोग करते हुए Google मानचित्र में मेरे वर्तमान स्थान को कैसे दिखाया जाए JDBC का उपयोग करते हुए मैं SQL Server 2008 डेटाबेस से कैसे जुड़ूं? एकाधिक क्षेत्रों के साथ LINQ विशिष्ट () का उपयोग कैसे करें स्ट्रेट पैडिंग में सी ++ स्प्रिंग @ लेनदेन – अलगाव, प्रचार Get-ChildItem -exclude का उपयोग कर मैं एकाधिक फ़ोल्डर्स कैसे निकाल सकता हूं? जावास्क्रिप्ट एक नोड के XPath मिलता है

एंड्रॉइड: सेटः चयनकर्ता स्पिनर पर कोई प्रभाव नहीं पड़ा

मुझे स्पिनर पर सेट से चयन के साथ कुछ समस्या हो रही है मैंने मूल्य निर्धारित किया है, जब स्पिनर को कोड में दिखाया जाता है, लेकिन इसका कोई प्रभाव नहीं होता है और सूची में पहला विकल्प हमेशा चयनित होता है। कोड इस तरह दिखता है:

LayoutInflater li = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); final View dialogView = li.inflate(R.layout.edit_event, null); ... ArrayList<String> routes = new ArrayList<String>(); // routes filled with values at runtime ... ArrayAdapter<String> aa = new ArrayAdapter<String>(GOFdroid.this, android.R.layout.simple_spinner_item, routes); aa.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); Spinner destSpinner = (Spinner) dialogView.findViewById(R.id.edit_event_destination); String dest = events.get(pos).getDestination(); int routesPos = routes.indexOf(dest); Log.d(TAG, "Dest: " + dest + ", pos: " + routesPos); destSpinner.setSelection(routesPos); destSpinner.setAdapter(aa); 

कोड setSelection- भाग को छोड़कर के रूप में काम करता है, और मुझे यह समझ में नहीं आता कि क्यों

स्पिनर का XML- लेआउट इस तरह दिखता है (संपूर्ण लेआउट नहीं, केवल स्पिनर भाग):

 // DESTINATION <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Destination:" /> <Spinner android:id="@+id/edit_event_destination" android:layout_width="fill_parent" android:layout_height="wrap_content" android:prompt="@string/choose_dest" android:layout_marginBottom="10dip" android:text="" /> 

सहायता बहुत सराहना की है!

लीनुस

Solutions Collecting From Web of "एंड्रॉइड: सेटः चयनकर्ता स्पिनर पर कोई प्रभाव नहीं पड़ा"

setSelection() करने के लिए कॉल को setSelection() करने के लिए कॉल setSelection() करने की कोशिश करें

मुझे इसी तरह की समस्या थी मेरे मामले में setAdaper और setSelection का चयन सही क्रम में था! onResume निष्पादित फ़ॉर्म काम किया, लेकिन जब onResume से निष्पादित किया गया onResume इसका कोई प्रभाव नहीं पड़ा।

समाधान setSelection(my_pos, true) को कॉल करने के लिए है। दूसरे पैरामीटर की सूचना दें

आप कोशिश कर सकते हैं

 mSpinner.post(new Runnable() { public void run() { mSpinner.setSelection(1); } }); 

यह देखने के बाद जैसे ही दृश्य बनाया जाता है, चलाने के लिए रननेबल एक्शन को पोस्ट किया जाएगा

मेरे मामले में जवाब में से कोई भी काम नहीं करता है, इसलिए मैंने एक सेटल को हेंडलर के जरिए कतारबद्ध किया

 new Handler().postDelayed(new Runnable() { public void run() { mSpinner.setSelection(1); } }, 100); 

धीमा डिवाइस पर चलते समय यह समस्याएं पैदा कर सकता है, लेकिन मैं एक विशिष्ट डिवाइस के लिए काम कर रहा हूं इसलिए इस हैक का उपयोग करना ठीक है

समाधान setSelection (my_pos, true) को कॉल करने के लिए है। दूसरे पैरामीटर की सूचना दें

डॉन `t भूल जाते हैं, अगर आप चेतन, सेटअप लेआउट params कॉल तो 🙂 उदाहरण:

 LinearLayout.LayoutParams spinnerLp = (LinearLayout.LayoutParams) spinner.getLayoutParams(); spinner.setSelection(selectedPositionAge, true); spinnerLp.gravity = Gravity.CENTER; spinner.setLayoutParams(spinnerLp); 

मैन्युअल रूप से सेट किए गए पैडिंग को स्पिनर को मैन्युअल रूप से रीसेट करना होगा

मैं एक fragment : setSelection अंदर एक स्पिनर के साथ एक ही समस्या थी fragment : setSelection पहली शुरुआत में fragment : setSelection दौरान ठीक से काम करता है, लेकिन जब मैं स्क्रीन को घुमाए, मैंने इसे सेट पर कॉल करके विकल्प को कॉल करने के बजाय इसे onViewStateRestored विधि के अंदर कॉल करने के बजाय टुकड़े के onViewStateRestored विधि के भीतर हल किया। मुझे यकीन नहीं है, लेकिन मुझे लगता है कि आप setSelection उपयोग नहीं कर सकते, जब तक कि दृश्य पूरी तरह भरी हुई नहीं हो, भले ही आपको इसे findViewById जाए।

पिछली उत्तर में से कोई भी मेरे लिए काम नहीं करता हालांकि, मेरे टुकड़े (या, मुझे उम्मीद थी, आपकी गतिविधि के 'क्रिएट ()' विधि की उम्मीद है), फिर मेरे onLoadFinished() विधि में यह करना …

 @Override public void onLoadFinished(Loader<Cursor> loader, Cursor cursor) { adapter.swapCursor(cursor); mSpinner.setSelection(mSelectedIndex); } 

Spinner.setSelection() काम नहीं करते यदि आप इसे Spinner.setAdapter() से पहले कहते हैं Spinner.setAdapter()

setSelection() करने के लिए कॉल करने के बाद setSelection() को कॉल करने का प्रयास करें ऐडाप्टर ()

इसके पीछे कारण : जब आप Spinner.Selection() कॉल करते हैं, तो Spinner.Selection() सेट करने से पहले का Spinner.Selection() करें। इसका अर्थ है कि आप स्पिनर सेट ऑप्शन () द्वारा कस्टम इंडेक्स को सेट करने का प्रयास कर रहे हैं, जब इसमें कोई डेटा नहीं है या हम कह सकते हैं कि स्पिनर को अधिकतम आइटम = 0

तो setSelection(1) अर्थ है स्पिनर के लिए सूचकांक सेट करना, जिसमें अधिकतम आइटम = 0; हालांकि स्पिनर स्वयं इस आउटबाउंड इंडेक्स को संभालता है, इसलिए आपका ऐप क्रैश नहीं करता है।

SetSelection() को कॉल SetSelection() बाद ही होना चाहिए

साथ ही यदि आपके पास Spinner.SetOnItemSelectedListener() है Spinner.SetOnItemSelectedListener() और आपको समस्या है कि onItemSelected(AdapterView<?> parent, View view, int position, long id) की स्थिति मान = 0 से शुरू होती है, जब गतिविधि भार और फिर आपको इस पैटर्न का उपयोग करना चाहिए।

 Spinner.SetAdapter() Spinner.setSelection(); Spinner.setOnItemSelectedListener(); 

कोशिश करो, यह मेरे लिए काम किया:

 Spinner destSpinner = (Spinner)dialogView.findViewById(R.id.edit_event_destination); destSpinner.setSelection(0); String dest = events.get(pos).getDestination(); int routesPos = routes.indexOf(dest); destSpinner.setAdapter(aa); Log.d(TAG, "Dest: " + dest + ", pos: " + routesPos); destSpinner.setSelection(routesPos);