gpt4 book ai didi

java - 睡在 For 循环中

转载 作者:行者123 更新时间:2023-11-29 07:09:41 26 4
gpt4 key购买 nike

我正在开发一款简单的游戏。我想在点击按钮时执行的 for 循环的每次交互中等待一小段时间。

我试过使用 Thread.sleep(2000),但没有用。

点击按钮的代码如下:

public void playClick(View v) {
String item;
try{
final Handler handler = new Handler();
for (int i = 0; i < stringList.size(); i++) {

Thread.sleep(2000);
item = stringList.get(i);

if(item.equals("left")){

leftclick();

}else if(item.equals("right")){

rightClick();

}else if(item.equals("up")){

upClick();

}else if(item.equals("down")){

downClick();

}
}
}catch(Exception e){
Toast.makeText(this, ""+e.toString(), Toast.LENGTH_SHORT).show();
}

我想在每次执行 for 循环时等待。

最佳答案

不建议阻塞主线程,相反我建议创建一个 Runnable 并将其传递给现有的、未使用的处理程序。也许:

private final Handler handler = new Handler();
private final Runnable runnable = new Runnable() {
@Override
public void run() {
for (String item : stringList) {
if(item.equals("left")){
leftclick();
}else if(item.equals("right")){
rightClick();
}else if(item.equals("up")){
upClick();
}else if(item.equals("down")){
downClick();
}
}
}
}

...

public void playClick(View v) {
// Execute the code inside runnable in 2 seconds
handler.postDelayed(runnable, 2000);
}

关于java - 睡在 For 循环中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232843/

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