请教或者探讨一个问题,需求大概是 不定数量的Button,点击button开启一个线程,间隔1s输出1-10,期间点击其它button后原来的输出停止,然后再重头输出,有什么好的方法实现呢线程
解决方案 »
- 求指点:四大组件之一contentprovider,好难理解,怎么办?
- BaseAdapter Spinner
- 求助,子线程中处理GPS,问题较多,多放点分
- GridView中获取ImageView的问题????sImageView = (ImageView) arg0.getItemAtPosition(arg2)
- 【求助】 关于android手机和平板电脑在3.0系统下浏览器滚动条问题
- 自定义的对话框如何在显示前改变它的显示内容呢?
- 移植WIFI
- 刚学android不久,请教个ViewPager用法,出错了,不会改,望赐教。。
- 关于ListActivity中的CheckBox
- 请教,java写的服务器代码,安卓写客户端,无法互传数据
- 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不要++判断
你可以将中间的逻辑改成你需要的就好了,线程方面都是对的