2010-03-07 16 views
26

में ListView मैं वस्तुओं की एक सूची प्रदर्शित करने के लिए एक AlertDialog में ListView का उपयोग कर रहा हूं। जब उपयोगकर्ता किसी एक आइटम पर क्लिक करता है, तो मैं संवाद बंद करना चाहता हूं। मेरे पास संवाद पर कोई कार्रवाई बटन नहीं होगा। इस पर कोई विचार है कि मैं इसे कैसे पूरा करूंगा?AlertDialog

final CharSequence[] items = {"Foo", "Bar", "Baz"}; 

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setTitle("Make your selection"); 
builder.setItems(items, new DialogInterface.OnClickListener() { 
    public void onClick(DialogInterface dialog, int item) { 
     // Do something with the selection 
    } 
}); 
AlertDialog alert = builder.create(); 
alert.show(); 

यह page संवादों के विभिन्न प्रकार के कुछ अन्य उदाहरण हैं:

+0

तुम भी सूचीदृश्य साथ चेतावनी संवाद के इस नमूने देख सकते हैं यहाँ जाना [डेमो उदाहरण के लिए] (http://goo.gl/W3a4h) – Herry

उत्तर

92

आप की तरह कुछ करने के लिए सक्षम होना चाहिए।

+5

बस सार्वजनिक शून्य पर क्लिक करें() फ़ंक्शन() फ़ंक्शन आपके लिए संवाद को खारिज कर देगा। – Yenchi

+0

मेरा दिन बचाओ, धन्यवाद .... – Cabezas

0

आप अलर्ट संवाद पॉप अप करते समय लेआउट का उपयोग कर सकते हैं .. इसे इमो के रूप में शैली बनाना आसान है। चेतावनी संवाद में सूची के लिए आप this

0

की तरह कुछ AlertDialog में कस्टम सूची प्रदर्शित करने के लिए नीचे दिए गए कोड में प्रयुक्त कर सकते हैं

AlertDialog.Builder builderSingle = new AlertDialog.Builder(
        DialogActivity.this); 
      builderSingle.setIcon(R.drawable.ic_launcher); 
      builderSingle.setTitle("Select One Name:-"); 
      final ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(
        DialogActivity.this, 
        android.R.layout.select_dialog_singlechoice); 
      arrayAdapter.add("Hardik"); 
      arrayAdapter.add("Archit"); 
      arrayAdapter.add("Jignesh"); 
      arrayAdapter.add("Umang"); 
      arrayAdapter.add("Gatti"); 
      builderSingle.setNegativeButton("cancel", 
        new DialogInterface.OnClickListener() { 

         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          dialog.dismiss(); 
         } 
        }); 

      builderSingle.setAdapter(arrayAdapter, 
        new DialogInterface.OnClickListener() { 

         @Override 
         public void onClick(DialogInterface dialog, int which) { 
          String strName = arrayAdapter.getItem(which); 
          AlertDialog.Builder builderInner = new AlertDialog.Builder(
            DialogActivity.this); 
          builderInner.setMessage(strName); 
          builderInner.setTitle("Your Selected Item is"); 
          builderInner.setPositiveButton("Ok", 
            new DialogInterface.OnClickListener() { 

             @Override 
             public void onClick(
               DialogInterface dialog, 
               int which) { 
              dialog.dismiss(); 
             } 
            }); 
          builderInner.show(); 
         } 
        }); 
      builderSingle.create(); 
      builderSingle.show(); 
संबंधित मुद्दे