我对此很陌生,所以也许这对每个人来说都是微不足道的,但我就是不明白为什么这不起作用。我已经读过它,尝试了很多方法,但仍然不起作用。所以我想暂停android(java)中的一个线程。我希望它运行,卡住屏幕 1 秒,然后继续工作。就这样。为什么这不起作用?
public class Game extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.game);
runner.join();
runner.start();
// do stuff
pause();
// do stuff
}
private boolean running = true;
private boolean paused = false;
public void setRunning(boolean run) {
running = run;
}
public void pause() {
paused = true;
}
Thread runner = new Thread() {
public void run() {
while (running) {
try {
//do stuff
Thread.sleep(100);
while (paused) {
try {
Thread.sleep(1000);
} catch (Exception e) {
} finally {
paused = false;
}
}
} catch (Exception e) {
}
}
}
};
}
最佳答案
您应该更改您编码的方法调用的顺序:
runner.join();
runner.start();
更改为:
runner.start();
runner.join();
它应该可以工作。
关于java - Android/Java - 暂停线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7794684/