Handler消息机制之基础代码运用篇(3)
来源:互联网 发布:vm安装linux虚拟机 编辑:程序博客网 时间:2024/06/05 05:24
此篇又是另外一种实现了,采用 handler.post(Runnable r); 去实现。
int[] images = { R.drawable.pic0, R.drawable.pic1, R.drawable.pic2, R.drawable.pic3, R.drawable.pic4, R.drawable.pic5, R.drawable.pic6, R.drawable.pic7, R.drawable.pic8, R.drawable.pic9 }; ImageView iv; Handler handler = new Handler();
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_two); iv = (ImageView)findViewById(R.id.imageView1); }
private int num = 0; private Runnable r;
//模拟按钮 进行耗时操作 public void changImage(View v) { Log.i("===","===== "+Thread.currentThread().getName()); //得到当前线程名字 switch (v.getId()) { case R.id.button1: // 通过post方法告诉handler // 让其去执行参数中Runnable对象的run方法 r = new Runnable() { @Override public void run() { // 在这里可以直接操作UI页面 iv.setImageResource(images[num % images.length]); num++; // 等待1秒之后再次执行参数一的runnable对象对应的run方法 handler.postDelayed(this, 1000); /* * 注意,当前的代码,虽然看着实在子线程,但是通过currentThread方法获知 * 当前其实是主线程 * 在此处不要去执行时间太长的耗时的操作 * */ Log.i("===","===== ppo "+Thread.currentThread().getName()); } }; handler.post(r); break; case R.id.button2: //将指定要执行的runnable对象移除,不再执行 handler.removeCallbacks(r); break; } }
对于,代码里面出现的新的方法,再次不在多余赘述。后面将会理论知识出现。
0 0
- Handler消息机制之基础代码运用篇(3)
- Handler消息机制之基础代码运用篇
- Handler消息机制之基础代码运用篇(2)
- Handler消息机制之基础代码篇
- 消息机制之Handler
- Android Handler 消息机制的日常开发运用与代码测试
- android消息机制 之Handler
- 消息处理机制之Handler
- Android之Handler消息机制
- Android之Handler消息机制
- 消息处理机制之Handler
- Android之Handler消息机制
- Android消息机制之Handler
- Android消息机制之Handler
- Android之Handler消息机制
- Android消息传递之Handler消息机制
- Android消息传递之Handler消息机制
- Android消息传递之Handler消息机制
- Android Emoji表情开发。两端使同一套的图片,防止两端因为系统内置的Emoji表情不一样,而造成用户体验不一致!
- 从代码的视角看DOS时代的通配符
- python之路--Django
- 40. Combination Sum II
- 思维导图|心智图|脑图 学习小结
- Handler消息机制之基础代码运用篇(3)
- 动态获取打包Jar后的路径信息
- 216. Combination Sum III
- Handler机制在秒表中的运用
- SlidingPaneLayout、Navigation Drawer、drawerlayout
- Bullet物理引擎在OpenGL中的应用
- 我是刘杰,欢迎参观我的博客
- hdu1061(快速幂取余)
- Android ImageSlider实现广告轮播