gpt4 book ai didi

android - 关闭对话框的正确方法

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:10:09 26 4
gpt4 key购买 nike

我正在尝试使用托管对话框。

我注意到在我第一次显示它之后,后续的创建实际上并没有创建对话框的新实例,它们似乎只是重复使用第一个。

如果我想停止这种情况,并在每次调用时都获得一个全新的实例,这是正确的方法吗?:

@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case MY_DIALOG_ID:
MyDlg dlg = new MyDlg(this);
dlg.setOnDismissListener(new OnDismissListener() {
public void onDismiss(DialogInterface dialog) {
removeDialog(MY_DIALOG_ID);
}
});
return dlg;
}
return null;
}

所以我想 removeDialog() 调用可以解决问题,但是我的 onDismiss() 处理程序应该在对话框被杀死的每个实例中调用,对吧(比如Dialog.cancel(), Dialog.dismiss(), 按返回键)?

最佳答案

正如您所注意到的,onCreateDialog() 方法仅在您第一次显示对话框时被调用。它负责构建对话框。事实是,您不必在每次要显示对话框时都“销毁”对话框来强制调用 onCreateDialog。您可以重写 onPrepareDialog(int, Dialog) - 在将要显示对话框之前调用此方法。 (它可以回收在之前的 onCreateDialog 调用中构造的对话框)“如果您想在每次打开对话框时更改对话框的任何属性,请定义此方法。”
问候!

关于android - 关闭对话框的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1920275/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com