gpt4 book ai didi

java - Android/java - 如何执行该循环等待执行操作

转载 作者:行者123 更新时间:2023-11-30 02:51:42 24 4
gpt4 key购买 nike

我尝试做显示元素的应用程序。每个元素应该在前一个元素被隐藏时开始显示。每个元素显示 2 秒。代码:

public void gameStart()
{
do
{
data = random.nextInt(6) + 1;

if (data == 1)
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element1.setVisibility(View.VISIBLE);

}

@Override
public void onFinish()
{
element1.setVisibility(View.GONE);

}
}.start();
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element2.setVisibility(View.VISIBLE);

}

@Override
public void onFinish()
{
element2.setVisibility(View.GONE);

}
}.start();

} else if (data == 3)
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element3.setVisibility(View.VISIBLE);
}

@Override
public void onFinish()
{
element3.setVisibility(View.GONE);

}
}.start();

} else if (data == 4)
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element4.setVisibility(View.VISIBLE);

}

@Override
public void onFinish()
{
element4.setVisibility(View.GONE);

}
}.start();

} else if (data == 5)
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element5.setVisibility(View.VISIBLE);
}

@Override
public void onFinish()
{
element5.setVisibility(View.GONE);

}
}.start();


} else if (data == 6)
{
CountDownTimer cdt = new CountDownTimer(2000, 1000)
{

@Override
public void onTick(long millisUntilFinished)
{
element6.setVisibility(View.VISIBLE);
}

@Override
public void onFinish()
{
element6.setVisibility(View.GONE);

}
}.start();


}



id = id + 1;
text.setText("cos " + id);




} while (id < 3);

所有元素同时显示。然后我尝试添加

Thread.sleep(2500);

但这停止了窗口中的 Action 。我尝试在代码后添加:

Timer timer = new Timer();

timer.schedule( new TimerTask() {
public void run() {
}
}, 0, 60*1000);

但是循环并没有停留。我尝试使用 notify()wait() 来实现,但它也不起作用。

不要建议我在 onFinish() 中执行下一步操作,因为这必须重复很多次。有人有其他想法吗?

编辑我也用 Handler 但它不起作用

最佳答案

我建议你不要在主线程中实现这段代码。创建一个异步任务,它隐藏一个按钮并在 postExequte 上调用自身。

关于java - Android/java - 如何执行该循环等待执行操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24043207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com