80,359
社区成员
发帖
与我相关
我的任务
分享
private int num = 1;
private final Runnable printOutRunnable = new Runnable()
{
@Override
public void run()
{
try
{
// 间隔1秒
Thread.sleep(1000);
// 判断num的值是否已经到了10,若到10,停止线程运行,否则继续
if(num ++ == 10)
mHandler.removeCallbacks(printOutRunnable);
System.out.println(num ++);
} catch (InterruptedException e)
{
e.printStackTrace();
}
}
};
private final Handler mHandler = new Handler();
private void run()
{
// 每次重新启动线程,都先将num的值恢复默认,并移除之前的线程
num = 1;
mHandler.removeCallbacks(printOutRunnable);
// 开始新的线程运行
mHandler.post(printOutRunnable);
}
最后,直接调用run()方法执行就OK了。
给分结贴吧