我的问题只是我有以下情况:
我有活动A ...并且有一个自定义对话框出现在它上面...它很大但它不是一个活动它只是一个对话框..
单击该对话框上的某个项目将打开新活动B
点击对话框后..我需要关闭对话框并打开活动B. 发生的事情是,活动A出现的时间为一秒或更短,然后活动B打开..
我在调用startActivity()之后尝试解除对话框..但在打开活动B之前,A活动仍然会暂时显示..
有什么建议吗?
答案 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,因此请检查该标志是否已关闭该对话框