Java 延迟按钮按下期间更新值

Java 延迟按钮按下期间更新值,java,android,button,delay,Java,Android,Button,Delay,本质上,我是在制作一个单人游戏,如果用户在一定时间内没有按下按钮,那么他们就输了。如果用户赢了,会出现一个警告对话框,通知他们他们赢了这一轮。我编程的方式是,有一个秘密按钮在1500毫秒后被按下,问题是当用户赢了,会弹出一个对话框,表明他们赢了,但随后会弹出另一个对话框(1500毫秒后),表明他们马上就输了。我试着使用下面的代码来防止第二个对话框弹出,但它不起作用,而且在这一点上我有点卡住了。因此,这里的主要问题是,在按下按钮后,如何更新值 final Handler handler = new

本质上,我是在制作一个单人游戏,如果用户在一定时间内没有按下按钮,那么他们就输了。如果用户赢了,会出现一个警告对话框,通知他们他们赢了这一轮。我编程的方式是,有一个秘密按钮在1500毫秒后被按下,问题是当用户赢了,会弹出一个对话框,表明他们赢了,但随后会弹出另一个对话框(1500毫秒后),表明他们马上就输了。我试着使用下面的代码来防止第二个对话框弹出,但它不起作用,而且在这一点上我有点卡住了。因此,这里的主要问题是,在按下按钮后,如何更新值

final Handler handler = new Handler();
                handler.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        button2_.performClick(); // the delay
                    }
                }, 1500);

                        //  skip some code 

                            if (!alert.isShowing())   // check if dialog box is open
                            {                         

                                alert.show();
                            }

在延迟按钮功能完成后,您是否希望警报框显示?当警报框显示时,我不希望另一个警报框显示。问题是,出于某种原因,在延迟按钮上单击它不会在1500毫秒后处理值。因此,即使警报对话框显示,它也不会注意到它。与其检查警报是否显示,你可以尝试引入一个布尔变量,如果用户不点击按钮并检查它,这个布尔变量将为false。我也尝试过使用布尔语句,只是这个延迟语句给了我一个问题。在运行时,它在1500ms之后不会处理任何当前值,所以即使我有一个布尔语句,如果我在1500ms之间将其更改为true,它仍然会将其读取为false