遇到一个奇怪的问题,在阅读android GlobalAction源码的时候,发现它会启动一个对话框,但是它添加了一个判断,判断这个对话框是否已经显示,如果之前显示过,它将被关闭并然后显示它。奇怪的是它关闭对话框,而不是使用处理程序发送消息来再次创建和显示对话框,我不明白为什么它需要发送处理程序消息,我认为它只是调用对话框关闭函数.然后调用show函数,没问题。评论说:“显示延迟,以便上一个对话框的关闭完成”,但我也无法理解含义,请有人帮我解释一下,非常感谢。
if (mDialog != null) {
mDialog.dismiss();
mDialog = null;
// Show delayed, so that the dismiss of the previous dialog completes
mHandler.sendEmptyMessage(MESSAGE_SHOW);
}