2011-03-28 16 views
14

मैं एंड्रॉइड में एप्लिकेशन विकसित कर रहा हूं, यदि मैं वरीयता स्क्रीन से चेकबॉक्स प्राथमिकता जांचता हूं तो मैं अलर्टडिअलॉग दिखाना चाहता हूं। तो मैं यह कैसे कर सकता हूं ..?वरीयता स्क्रीन से AlertDialog कैसे खोलें?

+0

यदि आप हमें बताते हैं कि आप किस तकनीक और प्लेटफॉर्म का उपयोग कर रहे हैं तो यह महत्वपूर्ण रूप से मदद करेगा। कृपया हमेशा उतना ही संदर्भ प्रदान करें जितना आप व्यावहारिक रूप से कर सकते हैं। –

+1

इसमें एक एंड्रॉइड टैग है ... –

+0

संभावित डुप्लिकेट [वरीयता स्क्रीन से अलर्टडिअलॉग कैसे खोलें?] (Http://stackoverflow.com/questions/5457944/how-to-open-alertdialog-from-preference- स्क्रीन) –

उत्तर

2

अवहेलना onSharedPreferenceChanged अपने PreferenceActivity कक्षा में:

public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener { 
    ... 
    public void onSharedPreferenceChanged(SharedPreferences sharedPreferences, String key) { 
     if (key.equals("MyCheckboxPreferenceKey")) { 
      //Show your AlertDialog here! 
     } 
    } 
+0

@ धर्मेंद्र "काम नहीं कर रहे" में अधिक विशिष्ट हो। – GrAnd

15

इस एक का प्रयास करें ...

public class MyPreferences extends PreferenceActivity implements OnSharedPreferenceChangeListener { 

     public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen, 
       final Preference preference) { 

     if(preference.equals("MyCheckboxPreferenceKey")) { 

      AlertDialog.Builder builder = new AlertDialog.Builder(this); 

     builder.setMessage("Your Message"); 

     builder.setPositiveButton("OK", new DialogInterface.OnClickListener() { 

      public void onClick(DialogInterface dialog, int id) { 

      //action on dialog close 
      } 

     }); 

     builder.show(); 

     } 


} 
+2

धन्यवाद यह @vaibhav – Dharmendra

+1

@ धर्मेंद्र वास्तव में काम कर रहा है, इसके लिए एक रिटर्न स्टेटमेंट की आवश्यकता है और "अनुपूरक तरीकों" को कवर करने के लिए नीचे दी गई विधि के मुख्य भाग की आवश्यकता होगी – LoungeKatt

+0

मैंने इसे इस तरह से वोट दिया था, लेकिन वापस आ रहा था इसके लिए .. मुझे कोई समस्या है जहां पर निर्भर करता है PreferenceTreeClick() को कॉल नहीं किया जा रहा है। मुझे इस पोस्ट को वर्तमान समाधान के लिए मिला जिसने मुझे इस तर्क को काम करने में मदद की http://stackoverflow.com/a/12325780/2162226 – gnB

0
public class MyPreferences extends PreferenceActivity{ 
... 
//getting current context for builder 
AlertDialog.Builder build = new AlertDialog.Builder(this); 
//setting some title text 
build.setTitle("SomeTitle"); 
//setting radiobuttons list 
build.setSingleChoiceItems(new String[]{"One", "Two"}, 0, new OnClickListener() {        

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       //Some behavior here  
      } 
     }); 
     build.setNegativeButton("Cancel", new OnClickListener() { 

      @Override 
      public void onClick(DialogInterface dialog, int which) { 
       //Might be empty 
      } 
     }); 
        //creating dialog and showing 
     AlertDialog dialog = build.create(); 
     dialog.show(); 
} 

सब है कि।

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