我想创建一个显示对话框的简单活动。 我有清单:
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();
当我启动应用程序时,它会正确显示对话框,但是当我按下后退按钮键时,它会向我显示图像中的父活动
我想要实现的只是显示对话框,当用户退出对话框时,应用程序退出。之后我不想在中间看到这个nosense弹出窗口。 我怎么能这样做?
谢谢!
答案 0 :(得分:2)
我想要实现的只是显示对话框,当用户退出对话框时,应用程序退出。之后我不想在中间看到这个nosense弹出窗口。我怎么能这样做?
为此,您可以在OnDismissListener()
上设置AlertDialog
,然后在其中致电finish()
以关闭Activity
内的onDismiss()
。你刚设置
但是,您在manifest.xml
中所做的是将Activity
本身设为Dialog theme
。这意味着您不需要AlertDialog
。您只需在R.layout.activity_dialog.xml
中的setContentView()
的{{1}}中设置Activity
就可以在不需要onCreate()
的情况下为您提供相同类型的效果可以在您AlertDialog
的{{1}}以及您需要的任何其他地方致电finish()
。