2012-03-18 20 views
5

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

showDialog(CONFIRM_ID); 
// ... 
@Override 
public Dialog onCreateDialog(int id) { 
    // Create the confirmation dialog... 
} 

Fragment वस्तु के भीतर से, मैं एक पुष्टिकरण संवाद दिखाने की जरूरत है के बाद पुष्टि मुझे वापस स्थिति अद्यतन के लिए वस्तु के लिए फेंकता है कि।

उदा।

    टुकड़ा एक्स
  1. पुष्टि दिखाएँ संवाद अंदर
  2. यदि "हाँ" एक्स

के लिए अद्यतन यूआई मैं ऐसा कर सकते हैं कैसे? कृपया काम कर रहे नमूना कोड प्रदान करें।

उत्तर

9

जैसा कि यहाँ दिखाया आप बस अपनी संवाद (AlertDialog) कोड का उपयोग कर बना सकते हैं: http://developer.android.com/guide/topics/ui/dialogs.html#AlertDialog

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Are you sure you want to exit?") 
     .setCancelable(false) 
     .setPositiveButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       MyActivity.this.finish(); 
      } 
     }) 
     .setNegativeButton("No", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
AlertDialog alert = builder.create(); 
alert.show(); 

तुम यहाँ मेरा उत्तर देख सकते हैं आप बटन के साथ संवाद है कि तुरंत संवाद ही खारिज नहीं करते बनाने के लिए की जरूरत है : How to prevent a dialog from closing when a button is clicked

+0

धन्यवाद। यह पर्याप्त होगा! (लेकिन मुझे संदेह है कि 'डायलॉग फ्रैगमेंट' का उपयोग करने का सबसे अच्छा समाधान है और किसी भी तरह से परिणाम को मूल खंड में वापस प्रसारित करना है।) – l33t

0
  AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());  
     builder.setTitle("Your Title"); 
     builder.setMessage("Your Dialog Message"); 
     builder.setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
        //TODO 
        dialog.dismiss(); 
      } 
     }); 
     builder.setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
        //TODO 
        dialog.dismiss(); 
      } 
     }); 
     AlertDialog dialog = builder.create(); 
     dialog.show(); 
संबंधित मुद्दे