2011-10-14 7 views
10

मैं एक लेआउट में एक कस्टम एडाप्टर के साथ एक सूचीदृश्य का उपयोग कर रहा हूँ। अब मैं उस लेआउट को अपने सतर्कता में सूची लाने की कोशिश कर रहा हूं। मैंने सरल लेआउट लाने की कोशिश की जिसमें इस कोड के साथ संवाद को अलर्ट करने के लिए सूची शामिल नहीं है और यह अच्छा काम कर रहा है। लेकिन मैं लेआउट युक्त सूची को alertdialog में लाने में असमर्थ हूं।अलर्ट संवाद में सूचीदृश्य वाले लेआउट को कैसे बढ़ाया जा सकता है?

  AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
      dialog.setView(getLayoutInflater().inflate(R.layout.smill, null)); 
      dialog.setIcon(R.drawable.androidsmile); 
      dialog.setInverseBackgroundForced(true); 


      dialog.setTitle("Select smiley"); 
      dialog.setPositiveButton("Cancel", null); 
      dialog.show(); 
+1

आप विस्तार से बता सकते हैं कि क्या गलत अपने आवेदन के साथ हो रहा:

आप की तरह कुछ करने की ज़रूरत है? क्या यह बंद हो जाता है या सूचीदृश्य दिखाया नहीं जाता है या कुछ भी नहीं। –

उत्तर

14

आप जो भी कर रहे हैं वह आपके अलर्ट संवाद में एक दृश्य को बढ़ा रहा है। आप उस सूचीदृश्य पर एडाप्टर सेट नहीं कर रहे हैं, इसलिए निश्चित रूप से यह काम नहीं कर रहा है (इसके खाली होने के बाद)।

View view = getLayoutInflater().inflate(R.layout.smill, null) 
ListView listView = (ListView) view.findViewById(R.id.listView); 
YourCustomAdapter adapter = new YourCustomAdapter(parameters...); 
listView.setAdapter(adapter); 

AlertDialog.Builder dialog = new AlertDialog.Builder(this); 
dialog.setView(view); 
... 
... 
dialog.show(); 
+2

लेआउट इनफ्लेटर के रूट रूट के रूप में शून्य को पार करने से बचें। यदि यह आपके एडाप्टर के अंदर किया जाता है तो आप रूटव्यू या कन्वर्टव्यू पास कर सकते हैं या जो भी दृश्य इस अलर्ट संवाद को होस्ट कर रहा है – Odaym

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