gpt4 book ai didi

java - 停止运行 for 循环,直到我从我的 onClickListener 得到响应

转载 作者:搜寻专家 更新时间:2023-11-01 09:05:04 25 4
gpt4 key购买 nike

我有一个 for 循环,但我需要它停止做任何事情,直到我得到用户的响应(也就是用户选择左或右)。我在 Android 中这样做,但我不确定最好的方法。 “左”和“右”是图像。所以在我继续前进之前,我会倾听左手或右手被击中的声音。我需要循环进行大约 50 次。这是我目前所拥有的。

int testlength = 50;
for (int i = 0; i < testlength; i++) {
left.setImageResource(R.drawable.left);
right.setImageResource(R.drawable.right);

//Stop the for loop and get the input from the user
}

最佳答案

我认为理想的解决方案是使用信号量:

class Example {
private Semaphore sem;

public Example() {
sem = new Semaphore(0);
}

public void onClick(...) {
// Do stuff
sem.release();
}

public void myLoop() {
int testlength = 50;
for (int i = 0; i < testlength; i++) {
left.setImageResource(R.drawable.left);
right.setImageResource(R.drawable.right);

sem.acquire();
}
}
}

请记住,这假定 myLoop 未在 UI 线程上运行。

关于java - 停止运行 for 循环,直到我从我的 onClickListener 得到响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12575082/

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