2017-10-01 25 views
0

preference을 클릭하면 사용자에게 대화 상자를 표시하려고합니다. 나는 new AlertDialog.Builder(getBaseContext()) 호출에 사용해야 어떤 상황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; 
     } 
    }); 

} 

- 나는 정지 앱의 원인이되는의 onPreferenceClick 방법에서, 다음 코드를 사용? 간단히

+1

사용'에 AlertDialog.Builder dlgAlert = 새에 AlertDialog.Builder (YourClassName.this)' – UltimateDevil

+0

또는 단순히'에 AlertDialog.Builder dlgAlert = 새에 AlertDialog.Builder (이) ; ' –

+0

@ReazMurshed 나를 위해 일했습니다. 감사합니다. – Shai

답변

0

사용 ...

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