如何在打开新活动时阻止对话框的父活动?

时间:2014-01-23 08:35:17

标签: android dialog android-activity

我的问题只是我有以下情况:

我有活动A ...并且有一个自定义对话框出现在它上面...它很大但它不是一个活动它只是一个对话框..

单击该对话框上的某个项目将打开新活动B

点击对话框后..我需要关闭对话框并打开活动B. 发生的事情是,活动A出现的时间为一秒或更短,然后活动B打开..

我在调用startActivity()之后尝试解除对话框..但在打开活动B之前,A活动仍然会暂时显示..

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

关闭onStop()中的对话框。因为在加载活动B之后,只有onStop()会在活动A中调用。

定义一些布尔变量,如:

boolean isClicked=false;

每当您在对话框中执行某些单击功能时,请将此变量设为' true'。然后在onStop()中检查如下:

@Override
protected void onStop() {
    super.onStop();
            if(isClicked)
              {  
                 //dismiss dialog
              }
}

答案 1 :(得分:0)

作为@ user543解决方案(也有效)的替代方案,您可以继续解除对话框。从对话框中启动新活动并单独保留对话框(或者更好地保留一个标记以便稍后解除对话),活动将立即显示在活动A及其对话框的顶部。当用户单击后退按钮时,将调用onStart和onAesume of Activity A,因此请检查该标志是否已关闭该对话框