For IntelliJ IDEA,
Android Studio or Eclipse



Preference myPrefScreen = findPreference("myPrefScreen"); myPrefScreen .setOnPreferenceClickListener(new OnPreferenceClickListener() { @Override public boolean onPreferenceClick(Preference prefScreen) { // TODO Auto-generated method stub Dialog prefScreenDialog = ((PreferenceScreen) prefScreen) .getDialog(); prefScreenDialog .setOnDismissListener(new OnDismissListener() { @Override public void onDismiss(DialogInterface arg0) { // TODO Auto-generated method stub ///HERE YOU CAN EXECUTE WHATEVER YOU WANT... } }); return false; } });
@Override protected Dialog onCreateDialog(int id) { super.onCreateDialog(id); final Dialog dialog = new Dialog(UserStatsActivity.this); dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); dialog.setContentView(R.layout.createuserrow); dialog.setOnDismissListener(this); //set up button Button button = (Button) dialog.findViewById(R.id.saveUser); button.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { TextView nameTextView = (TextView)dialog.findViewById(R.id.userName); userNickName = nameTextView.getText().toString().trim(); if ((userNickName.length() > 0) && (userNickName.length() < 9)){ saveUser = true; dialog.dismiss(); } } }); //now that the dialog is set up, it's time to show it return dialog; }
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (!mShowsDialog) { return; } View view = getView(); if (view != null) { if (view.getParent() != null) { throw new IllegalStateException("DialogFragment can not be attached to a container view"); } mDialog.setContentView(view); } mDialog.setOwnerActivity(getActivity()); mDialog.setCancelable(mCancelable); mDialog.setOnCancelListener(this); mDialog.setOnDismissListener(this); if (savedInstanceState != null) { Bundle dialogState = savedInstanceState.getBundle(SAVED_DIALOG_STATE_TAG); if (dialogState != null) { mDialog.onRestoreInstanceState(dialogState); } } }
case DURATION_DIALOG: dialog = new DurationDialog(Activity.this, "your title", "your body"); dialog.setOnDismissListener(onDismissListener); break; default:
@Override public void onActivityCreated(Bundle savedInstanceState) { super.onActivityCreated(savedInstanceState); if (!mShowsDialog) { return; } View view = getView(); if (view != null) { if (view.getParent() != null) { throw new IllegalStateException("DialogFragment can not be attached to a container view"); } mDialog.setContentView(view); } mDialog.setOwnerActivity(getActivity()); mDialog.setCancelable(mCancelable); mDialog.setOnCancelListener(this); mDialog.setOnDismissListener(this); if (savedInstanceState != null) { Bundle dialogState = savedInstanceState.getBundle(SAVED_DIALOG_STATE_TAG); if (dialogState != null) { mDialog.onRestoreInstanceState(dialogState); } } }