Android 从dialog进入新界面,返回后如何让dialog消失?
时间: 2023-08-18 11:38:52 浏览: 124
当 Android 应用程序从 dialog 进入新界面后,需要在新界面的 onBackPressed() 方法中调用 dismiss() 方法来关闭 dialog。这样,当用户返回到原来的界面时,dialog 就会消失。
具体代码实现如下:
在原来的界面中,创建并显示 dialog:
```
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("对话框标题");
builder.setMessage("对话框内容");
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击确定按钮后的操作
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
// 点击取消按钮后的操作
}
});
AlertDialog dialog = builder.create();
dialog.show();
```
在新界面中,重写 onBackPressed() 方法,关闭 dialog:
```
@Override
public void onBackPressed() {
super.onBackPressed();
if(dialog != null && dialog.isShowing()) {
dialog.dismiss();
}
}
```
这样,当用户从新界面返回到原来的界面时,会自动调用 onBackPressed() 方法,关闭 dialog。
阅读全文