是否有可能等到吐司完成后才能恢复该方法?

时间:2011-05-28 18:23:18

标签: android wait toast

在我的一种方法中,如果用户提供正确的输入,则会显示toast。但是,在吐司完成之前,我不希望显示下一个图像。

如果我使用Thread.sleep(3000),如果不允许toast显示,则UI活动处于睡眠状态。

我想要做的一个例子:

public void correction(){
        if(correctionBoolean == true){  
            Toast.makeText(this, "Correct!", Toast.LENGTH_SHORT).show();    
            if(Toast.time == finished){
            NextImage();}
            }

3 个答案:

答案 0 :(得分:5)

我不相信有任何方法可以用吐司做到这一点。如果你只是想向某人展示一个“你是正确的”窗口,我会考虑使用一个带有单个正向Okay按钮的AlertDialog。

甚至可以显示没有按钮的对话框,让非UI线程暂时休眠一下然后关闭对话框。

答案 1 :(得分:4)

创建一个没有按钮的自定义对话框,并使用处理程序在短时间后将其关闭,然后显示下一张图像。

答案 2 :(得分:1)

使用CountDownTimerToast.LENGTH_SHORT作为时间吗?

public void correction(){
    if(correctionBoolean == true){  
        Toast.makeText(this, "Correct!", Toast.LENGTH_SHORT).show();    
        new CountdownTimer(Toast.LENGTH_SHORT, 1000) {

            public void onTick(long millisUntilFinished) {

        }

        public void onFinish() {
            NextImage();
        }
        }.start();

}