0

我想创建一个显示对话框的简单活动。我在清单中有:

android:theme="@android:style/Theme.Dialog

在活动的 onCreate() 方法中:

    LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    View layout = inflater.inflate(R.layout.activity_dialog, (ViewGroup) findViewById(R.id.layout), false);

    AlertDialog.Builder builder = new AlertDialog.Builder(this)
    .setView(layout);

    AlertDialog alertDialog = builder.create();
    alertDialog.show();

当我启动应用程序时,它会正确显示对话框,但是当我按下后退按钮时,它会向我显示图像中的父活动

在此处输入图像描述

我想要实现的只是显示对话框,当用户退出对话框时,应用程序退出。在那之后,我不想在中间看到这个无意义的弹出窗口。我怎样才能做到这一点?

谢谢!

4

1 回答 1

2

我想要实现的只是显示对话框,当用户退出对话框时,应用程序退出。在那之后,我不想在中间看到这个无意义的弹出窗口。我怎样才能做到这一点?

为此,您可以在OnDismissListener()您的AlertDialogand in it 调用上设置 afinish()以关闭. 你刚刚设置ActivityonDismiss()

对话界面 OnDismiss

但是,您正在做的manifest.xml是将Activity自身设置为具有Dialog theme. 这意味着您不需要AlertDialog. 您只需设置您R.layout.activity_dialog.xml的输入,它应该会为您提供相同类型的效果,而不需要您可以调用您的和任何其他需要的地方。setContentView()ActivityonCreate()AlertDialogfinish()onBackPressed()Activity

于 2013-09-30T18:02:01.380 回答