0

Je souhaite afficher une boîte de dialogue pour l'utilisateur lorsqu'elle clique sur un preference. J'utilise le code suivant, de la méthode onPreferenceClick, ce qui cause l'application de arrêt -Afficher la boîte de dialogue de la méthode onPreferenceClick

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    addPreferencesFromResource(R.xml.pref_general); 

    Preference pr = findPreference("advisorsKey"); 

    pr.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() { 
     @Override 
     public boolean onPreferenceClick(Preference preference) { 


      AlertDialog.Builder dlgAlert = new AlertDialog.Builder(getBaseContext()); 
      dlgAlert.setMessage("This is an alert with no consequence"); 
      dlgAlert.setTitle("App Title"); 
      dlgAlert.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
       @Override 
       public void onClick(DialogInterface dialog, int which) { 

       } 
      }); 
      dlgAlert.setCancelable(true); 

      dlgAlert.setPositiveButton("Ok", 
        new DialogInterface.OnClickListener() { 
         public void onClick(DialogInterface dialog, int which) { 
          //dismiss the dialog 

         } 
        }); 

      dlgAlert.create().show(); 




      return false; 
     } 
    }); 

} 

quel contexte dois-je utiliser dans l'appel new AlertDialog.Builder(getBaseContext())?

+1

Utiliser 'AlertDialog.Builder dlgAlert = new AlertDialog.Builder (YourClassName.this),' – UltimateDevil

+0

Ou simplement, 'AlertDialog.Builder dlgAlert = new AlertDialog.Builder (this) ; ' –

+0

@ReazMurshed A travaillé pour moi, MERCI – Shai

Répondre

0

Il suffit d'utiliser ...

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