我正在显示两个对话框,每个对话框应在同一活动(登录活动)上显示不同的网络调用。在这种情况下,如果我在第一个对话框中单击“重新发送电子邮件”文本视图,则表示我正在进行另一个网络呼叫,该网络呼叫向我显示了另一个对话框。当我在第二个对话框中单击“确定”时,将其关闭。但是第一个仍然显示。因此,当我单击第二个按钮上的“确定”时,如何消除这两个问题。
答案 0 :(得分:0)
创建一个本地Dialog
变量dialogOne
,当您单击对话框中的ok时,两个都退出
btn_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
isShown = true;
dialog.dismiss();
dialogOne.dismiss();
}
});
答案 1 :(得分:0)
在单击按钮时以及在关闭前必须检查对话框是否可见,同时关闭两个对话框,以避免空指针异常。
btn_ok.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(dialog.isShowing())
dialog.dismiss();
if(firstdialog.isShowing())
firstdialog.dismiss();
}
});