【发布时间】:2010-12-04 00:02:12
【问题描述】:
我想在两行代码之间做个停顿,让我解释一下:
-> 用户单击一个按钮(实际上是一张卡片),我通过更改此按钮的背景来显示它:
thisbutton.setBackgroundResource(R.drawable.icon);
-> 假设 1 秒后,我需要通过更改背景返回按钮的先前状态:
thisbutton.setBackgroundResource(R.drawable.defaultcard);
-> 我尝试在这两行代码之间暂停线程:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
但是,这不起作用。也许这是我需要暂停的过程而不是线程?
我也试过了(但没用):
new Reminder(5);
有了这个:
public class Reminder {
Timer timer;
public Reminder(int seconds) {
timer = new Timer();
timer.schedule(new RemindTask(), seconds*1000);
}
class RemindTask extends TimerTask {
public void run() {
System.out.format("Time's up!%n");
timer.cancel(); //Terminate the timer thread
}
}
}
如何暂停/休眠线程或进程?
【问题讨论】:
-
哦,就用经典的线程暂停块:while (true) {}
-
@KristoferA-Huagati.com 我不确定你是在讽刺还是确实有一些 Dalvik/Android 的魔力,所以这在 Android 上是可以接受的。你能澄清一下吗?很抱歉怀疑,但我问是因为
(!conditionCheck()) {}通常不鼓励。 -
“但是,这不起作用。” “我也尝试过(但它不起作用)”这是一个典型的例子,说明有问题而不给出症状。这些尝试在哪些方面未能满足您的要求?线程没有暂停吗?您收到错误消息了吗?
标签: android process multithreading