在Android中焦点丢失时不要隐藏对话框

在Android中焦点丢失时不要隐藏对话框,android,android-dialog,Android,Android Dialog,这里我的简单代码显示了Android中的一个对话框。我不想在用户单击对话框外部或对话框失去焦点时隐藏对话框。我怎么做 DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { switch (which) { case Dialog

这里我的简单代码显示了Android中的一个对话框。我不想在用户单击对话框外部或对话框失去焦点时隐藏对话框。我怎么做

DialogInterface.OnClickListener dialogClickListener = new DialogInterface.OnClickListener() {
  public void onClick(DialogInterface dialog, int which) {
    switch (which) {
      case DialogInterface.BUTTON_POSITIVE:
        Toast.makeText(getApplicationContext(), "yes", Toast.LENGTH_LONG).show();
        break;
      case DialogInterface.BUTTON_NEGATIVE:
        Toast.makeText(getApplicationContext(), "no", Toast.LENGTH_LONG).show();
        break;
      }
    }
  };
按钮代码为:

AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setMessage("Are you sure?")
  .setPositiveButton("Yes", dialogClickListener)
  .setNegativeButton("No", dialogClickListener).show();

谢谢。

如果在
对话框外部单击,则使用此选项隐藏。设置取消对外部单击(true)


或者,如果在对话框的外侧单击,则使用此选项不隐藏。setCanceledOnTouchOut(false)

此示例代码运行良好

final Dialog dialog = new Dialog(context);
        dialog.setContentView(R.layout.activity_test);
        dialog.setTitle("Title...");
        dialog.setCanceledOnTouchOutside(false);
        dialog.show();

使用
dialog.setCanceledOnTouchOutside(false)
仅当用户在框外单击时,才能阻止对话框隐藏,但如果用户单击Android设备上的“后退”按钮,则不会隐藏对话框


使用
对话框。setCancelable(false)
将阻止这两种情况。

您的问题令人困惑。。。你想在单击外部时隐藏对话框吗???不,我不想,我想在单击外部时显示对话框。在这个对话框中,当我点击它的外部隐藏。仍然困惑。。。。你能解释一下吗?当我点击一个按钮时,然后显示这个是非对话框,但在显示之后,如果我点击对话框的外侧,它会自动隐藏,但我不想隐藏它,就像我的回答使用对话框中的joptionpane dalogas一样;