在我的一种方法中,如果用户提供正确的输入,则会显示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();}
}
答案 0 :(得分:5)
我不相信有任何方法可以用吐司做到这一点。如果你只是想向某人展示一个“你是正确的”窗口,我会考虑使用一个带有单个正向Okay按钮的AlertDialog。
甚至可以显示没有按钮的对话框,让非UI线程暂时休眠一下然后关闭对话框。
答案 1 :(得分:4)
创建一个没有按钮的自定义对话框,并使用处理程序在短时间后将其关闭,然后显示下一张图像。
答案 2 :(得分:1)
使用CountDownTimer
和Toast.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();
}