postDelayed方法和removeCallbacks方法的使用
2016-04-26 21:28
363 查看
方法postDelayed的作用是延迟多少毫秒后开始运行,而removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行。
方法声明如下:
其中参数Runnable r在Handler对象所运行的线程中执行。
创建名称为handler2的Android项目,Main.java的核心代码如下:
程序运行后单击button1按钮开始循环,count累加1,运行结果如图6.41所示。
方法声明如下:
public final boolean postDelayed (Runnable r, long delayMillis)
其中参数Runnable r在Handler对象所运行的线程中执行。
创建名称为handler2的Android项目,Main.java的核心代码如下:
public class Main extends Activity { private Button button1; private Button button2; private Handler handler = new Handler(); private int count = 0; private Runnable runnableRef = new Runnable() { public void run() { Log.v("2", Thread.currentThread().getName()); count++; Log.v("!", "count=" + count); handler.postDelayed(runnableRef, 1000); } }; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.v("1", Thread.currentThread().getName()); button1 = (Button) this.findViewById(R.id.button1); button2 = (Button) this.findViewById(R.id.button2); button1.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { Thread thread = new Thread(runnableRef); thread.start(); Log.v("!!!!!!!!!!!!!", "end"); } }); button2.setOnClickListener(new OnClickListener() { public void onClick(View arg0) { handler.removeCallbacks(runnableRef); } }); } }
程序运行后单击button1按钮开始循环,count累加1,运行结果如图6.41所示。
图6.41 循环加1效果 |
相关文章推荐
- 作业6-学生成绩录入
- Win32实现迷宫
- 夺命雷公狗ThinkPHP项目之----企业网站25之网站前台面包屑导航URL的完善
- 作业6 :团队作业
- OpenCV:对XML和YAML文件实现I/O操作
- Spark:Yarn-cluster和Yarn-client区别与联系
- c++常量
- C++ primer 读书笔记 第九章 顺序容器
- C++上级实验4-求1000以内所有偶数的和
- 页面布局之双飞翼布局
- c++写入txt文件
- 自己玩玩
- Android基础第一节课
- iOS 集成环信(一)
- poj1062 昂贵的聘礼
- java---打印流
- RPC编程实战之二
- 用户在对话框下拉列表中选择的为显示文本区中的文本
- opencv Mat详解
- uva11383(KM算法)