दिलचस्प पोस्ट
स्थापित एप्लिकेशन का आकार प्राप्त करना नेटबीन्स जीयूआई बिल्डर के साथ कार्डलेआउट का उपयोग कैसे करें जावास्क्रिप्ट आज तक प्रमुख शून्य जोड़ते हैं जावा में दो एक्सएमएल फ़ाइलें मर्ज करें जावा में "चर" चर? मैं स्काला में चेन को कैसे समझ सकता हूँ? मुझे log4j.properties फ़ाइल कहां रखनी चाहिए? IE8 में छद्म तत्व पर एक फ़िल्टर ग्रेडिएंट क्यों काम नहीं करता है? पोस्टमैन के साथ एफसीएम – अनुरोध में एक प्रमाणीकरण कुंजी (एफसीएम टोकन) अनुपलब्ध था मोबाइल पर मेनू / नेवाबार में बूटस्ट्रैप 3 स्लाइड SQL सर्वर 2005 कैसे एक अनूठा प्रतिबंध बनाएँ? मैं यूनिक्स में एक फ़ाइल में डुप्लिकेट लाइनों को कैसे हटा सकता हूं? गैर-श्रेणी के गुणों में हमेशा सीवी-अयोग्य प्रकार होते हैं डोम प्रसंस्करण के बाद एक्सएमएल गुणों का क्रम पेपैल के माध्यम से कई आइटम (एक बार में) के लिए भुगतान करना

एंड्रॉइड: स्पिनर का संकेत

क्या किसी भी स्पिनर के लिए संकेत बनाने के लिए वैसे भी ऐसा संकेत है जो संपादन पाठ क्षेत्रों के लिए प्रदान किया गया है। मुझे पता है कि आप एक प्रॉम्प्ट का उपयोग कर सकते हैं जो आपको एक शीर्षक बार देता है, लेकिन फिर भी स्पिनर को छोड़कर जब तक आप स्पिनर पर क्लिक नहीं करते तब तक स्पिनर फील्ड रिक्त छोड़ देता है। वर्तमान में स्पिनर सरणी के पहले भाग के रूप में एक डमी फील्ड सेट करने का एक कच्चा तरीका है जो कि सवाल है और फिर अंत में एक जांच होनी चाहिए ताकि यह सुनिश्चित किया जा सके कि स्पिनर सवाल स्ट्रिंग के बराबर नहीं है। क्या ऐसा करने के लिए कोई क्लीनर / बेहतर तरीका है?

धन्यवाद!

वेब के समाधान से एकत्रित समाधान "एंड्रॉइड: स्पिनर का संकेत"

यहां एक समाधान है जो संभवत: रवि व्यास कोड की तुलना में थोड़ा आसान है (प्रेरणा के लिए धन्यवाद!):

ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(), android.R.layout.simple_spinner_dropdown_item) { @Override public View getView(int position, View convertView, ViewGroup parent) { View v = super.getView(position, convertView, parent); if (position == getCount()) { ((TextView)v.findViewById(android.R.id.text1)).setText(""); ((TextView)v.findViewById(android.R.id.text1)).setHint(getItem(getCount())); //"Hint to be displayed" } return v; } @Override public int getCount() { return super.getCount()-1; // you dont display last item. It is used as hint. } }; adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); adapter.add("Item 1"); adapter.add("Item 2"); adapter.add("Hint to be displayed"); spinner.setAdapter(adapter); spinner.setSelection(adapter.getCount()); //display hint 

आप अपना स्पिनर एडाप्टर सेट कर सकते हैं और GetView विधि को एक आइटम के बजाय संकेत दिखाने के लिए कर सकते हैं। मैंने गिथूब पर एक नमूना प्रोजेक्ट बनाया है, इसे यहाँ देखें

अपना स्पिनर एडाप्टर सेट करने से भी एक आसान तरीका यह है कि सिर्फ एक बटन का उपयोग करें और इसे स्पिनर ऑब्जेक्ट की तरह शैली के समान बनाएं

 android:background="@android:drawable/btn_dropdown" 

फिर एक एकल आइटम-चयन संवाद को खोलने के लिए बटन के ऑनक्लिक ईवेंट को सेटअप करें। तब आप बटन के पाठ के साथ जो चाहें कर सकते हैं।

यह थोड़ी देर के लिए इस से निपटने का मेरा पसंदीदा तरीका रहा है। आशा है कि यह किसी को मदद करता है

संपादित करें: मैं हाल ही में इसे फिर से खेल रहा हूं (और किसी ने मुझे कुछ समय पहले एक उदाहरण पोस्ट करने के लिए कहा)। यदि आप होलो थीम का उपयोग कर रहे हैं तो यह रणनीति थोड़ा अलग दिखाई देगी। हालांकि, अगर आप थीम जैसे अन्य विषयों का उपयोग कर रहे हैं। ब्लैक, यह समान दिखाई देगा।

इसे प्रदर्शित करने के लिए, मैंने एक साधारण ऐप बनाया, जिसमें मेरे कस्टम बटन स्पिनर के साथ एक नियमित स्पिनर भी था मैंने इसे एक गीटहब रेपो में फेंक दिया, लेकिन यह है कि गतिविधि क्या दिखती है:

 package com.stevebergamini.spinnerbutton; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.Spinner; public class MainActivity extends Activity { Spinner spinner1; Button button1; AlertDialog ad; String[] countries; int selected = -1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); spinner1 = (Spinner) findViewById(R.id.spinner1); button1 = (Button) findViewById(R.id.button1); countries = getResources().getStringArray(R.array.country_names); // You can also use an adapter for the allert dialog if you'd like // ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, countries); ad = new AlertDialog.Builder(MainActivity.this).setSingleChoiceItems(countries, selected, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { button1.setText(countries[which]); selected = which; ad.dismiss(); }}).setTitle(R.string.select_country).create(); button1.setOnClickListener( new OnClickListener(){ @Override public void onClick(View v) { ad.getListView().setSelection(selected); ad.show(); }}); } }