The code below defines an AlertDialog with 2 buttons. Clicking on either button calls the correct onClick method. As it is, each method just has a Log statement, yet clicking on either one causes the dialog to be dismissed. Why?
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setPositiveButton("Dismiss",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.d("MyFragment", "Positive button");
            }
        }).setIcon(android.R.drawable.ic_dialog_info);
builder.setNeutralButton("Send Email",
        new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                Log.d("MyFragment", "Neutral button");
            }
        }).setIcon(android.R.drawable.ic_dialog_info);
builder.setMessage("Some message");
builder.setCancelable(false);
Dialog dialog = builder.create();
dialog.setTitle("Details");
dialog.setCancelable(false);
dialog.show();
 
     
     
    