请教或者探讨一个问题,需求大概是 不定数量的Button,点击button开启一个线程,间隔1s输出1-10,期间点击其它button后原来的输出停止,然后再重头输出,有什么好的方法实现呢线程
解决方案 »
- 关于用videoview播放rtsp流的问题
- 求解我一个困惑了两天的问题
- SurfaceHolder.Callback中的事件什么情况下会调用(就是说它的生命周期是怎样的)
- hero编译出错,请指教,谢谢
- 我想实现用户按下某个按键后屏幕旋转90度,改怎么做??
- 【android】关于LruCache的问题
- android下流媒体开发VLC
- 自学安卓中,eclipse中无法执行,adb.exe' and can be executed.怎么解决,求解?
- 求怎么实现微信的伪装定位
- android如何监听usb串口的插拔
- Ksoap2-android在Android真机上call方法非常慢
- 关于android ScrollView的滚动事件
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了。
给分结贴吧
if中的num不要++判断
你可以将中间的逻辑改成你需要的就好了,线程方面都是对的