我是靠谱客的博主 伶俐皮皮虾,这篇文章主要介绍简单使用handler.postDelayed()方法,现在分享给大家,希望可以做个参考。

相信android开发的朋友们,对于handler一定非常的熟悉,本文只讲handler.postDelayed()使用及具体的细节,不正确之处欢迎大家指正!!
下面给出具体的代码,并且附上运行后的结果

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.example.demo; import android.app.Activity; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.view.View; public class MainActivity extends Activity { private Handler handler; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); init(); } private void init() { handler = new Handler(); } private Runnable mTimeTask = new Runnable() { @Override public void run() { Log.d("MainActivity", "---------mTimeTask---------"+System.currentTimeMillis()); handler.postDelayed(this, 10*1000); } }; public void click(View view){ Log.d("MainActivity", "---------one---------"+System.currentTimeMillis()); handler.postDelayed(mTimeTask, 100); handler.postDelayed(new Runnable() { @Override public void run() { Log.d("MainActivity", "---------handler.postOne---------"+System.currentTimeMillis()); } }, 5*1000); handler.postDelayed(new Runnable() { @Override public void run() { Log.d("MainActivity", "---------handler.postTwo---------"+System.currentTimeMillis()); } }, 3*1000); handler.postDelayed(new Runnable() { @Override public void run() { Log.d("MainActivity", "---------handler.postThree---------"+System.currentTimeMillis()); } }, 2 * 1000); Log.d("MainActivity", "---------two---------"+System.currentTimeMillis()); } }

下面是执行的结果

复制代码
1
2
3
4
5
6
7
8
9
10
09-09 20:45:18.498: D/MainActivity(1373): ---------one---------1441802718504 09-09 20:45:18.502: D/MainActivity(1373): ---------two---------1441802718504 09-09 20:45:18.602: D/MainActivity(1373): ---------mTimeTask---------1441802718604 09-09 20:45:20.506: D/MainActivity(1373): ---------handler.postThree---------1441802720510 09-09 20:45:21.506: D/MainActivity(1373): ---------handler.postTwo---------1441802721507 09-09 20:45:23.510: D/MainActivity(1373): ---------handler.postOne---------1441802723512 09-09 20:45:28.610: D/MainActivity(1373): ---------mTimeTask---------1441802728610 09-09 20:45:38.618: D/MainActivity(1373): ---------mTimeTask---------1441802738619 09-09 20:45:48.626: D/MainActivity(1373): ---------mTimeTask---------1441802748630

根据上面的日志分析,便非常清晰的说明了,在OnCreate方法中执行handler.postDelayed()方法和具体的顺序是没有关系的,具体的执行顺序是根据方法中设置的时间,就是所谓的延时时间,只要延时时间到了就会执行该方法。
如果想验证上面的日志信息,请运行上述代码!!!

最后

以上就是伶俐皮皮虾最近收集整理的关于简单使用handler.postDelayed()方法的全部内容,更多相关简单使用handler内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部