簡體   English   中英

通過onPreferenceClick方法顯示對話框

[英]Show dialog from onPreferenceClick method

我想在用戶單擊preference時向用戶顯示一個對話框。 我使用了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;
        }
    });

}

new AlertDialog.Builder(getBaseContext())調用中應該使用什么上下文?

只需使用...

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM