方法postDelayed的作用是延迟多少毫秒后开始运行,而removeCallbacks方法是删除指定的Runnable对象,使线程对象停止运行。
方法声明如下:
- 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效果 |
from:http://book.51cto.com/art/201211/363310.htm
相关推荐
关于android开发中的handler中的postDelayed方法的讲解,帮助大家学习这个方法在实际中的应用
主要介绍了Android开发使用Handler的PostDelayed方法实现图片轮播功能,结合实例形式分析了Android基于Handler的PostDelayed方法实现图片轮播功能的具体步骤与相关操作技巧,需要的朋友可以参考下
实现定时器有很多种方式,在这里我简单的介绍几种方式 (1)使用Handler + Runnable的方式 代码如下: Handler handler = new Handler(); Runnable runnable = new Runnable() { @Override public void run() { //你要...
在android中,经常用到的定时器主要有以下几种实现: 一、采用Handler与线程的sleep...二、采用Handler的postDelayed(Runnable, long) 方法 三、采用Handler与timer及TimerTask结合的方法。 三种方法都有示例代码。
在Android开发中,定时器一般有以下3种实现方法:1.采用Handle与线程的sleep(long)方法; 2.采用Handler的postDelayed(Runnable, long)方法; 3.采用Handler与timer及TimerTask结合的方法.
当监听动画结束的动作,在动画结束的时候开启一个线程,这个线程中绑定一个Handler,并在这个Handler中调用goHome方法,而通过postDelayed方法使这个方法延迟500毫秒执行,达到达到持续显示第一屏500毫秒的效果。...
android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是...
Android定时器的4种方法: 1.采用 Handler 与线程的 sleep(long )方法 2.采用 Handler 的 postDelayed(Runnable, long) 方法 3.采用 Handler 与 timer 及 TimerTask 结合的方法 4.使用CountDownTimer倒计时类
二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法 下面逐一介绍: 一、采用Handle与线程的sleep(long)方法 Handler主要用来处理接受到的消息。这只是最主要的方法,...
android 中定时器的3个实现方法(均测试通过) 一、采用Handler与线程的sleep(long)方法 二、采用Handler的postDelayed(Runnable, long)方法 三、采用Handler与timer及TimerTask结合的方法
在Android开发中,定时器一般有以下3种实现方法:一、采用Handler与线程的sleep(long)方法二、采用Handler的postDelayed(Runnable, long)方法三、采用Handler与timer及TimerTask结合的方法下面逐一介绍:一、采用...
在Android开发中,定时器一般有以下3种实现方法: 1、采用Handler与线程的sleep(long)方法 2、采用Handler的postDelayed(Runnable, long)方法 3、采用Handler与timer及TimerTask结合的方法
If you create anonymous Runnable and call to postDelayed with large timeout, that Runnable will be held in memory until timeout passes. Even if your Runnable seems small, it indirectly references ...
主要介绍了android实现Splash闪屏效果的方法,涉及Android中postDelayed方法及AndroidManifest.xml权限控制的相关使用技巧,需要的朋友可以参考下
android中定时有很多种是实现,常见的Handler 与Thread的结合,handler.postDelayed ,以及要使用的AlarmManger 等都可以实现定时任务的执行,但是使用场景却大不相同,这里主要是怎么用AlarmManager实现定时任务。...
主要介绍了Android编程中延后处理事件的方法,总结分析了Handler和TimerTask相结合以及使用postDelayed实现延后处理事件的相关操作技巧,需要的朋友可以参考下
二、采用Handler的postDelayed(Runnable, long)方法(最简单的android实现) 三、采用Handler与timer及TimerTask结合的方法(比较多的任务时建议使用) android里有时需要定时循环执行某段代码,或者需要在某个时间点...
这里我使用了Handler的postDelayed()方法。把过渡动画的Activity设为默认启动的Activity。在当前Activity中,执行postDelayed()方法,把延时的时长设为两秒即可。 过渡页面如下:transition_view.xml <?xml ...
这是一款关于打地鼠的安卓游戏开发,供初学者参考学习