码迷,mamicode.com
首页 > 移动开发 > 详细

Android Handler的一个简单使用例子

时间:2014-10-03 22:50:35      阅读:244      评论:0      收藏:0      [点我收藏+]

标签:android   http   color   使用   ar   sp   div   2014   c   

在前面 开启一个线程Thread并用进度条显示进度 这篇文章里,我们用线程实现了这么一个简单的功能,就是点击按钮,加载进度条。但是有没有发现,点击一次之后,再次点击就会没效。我们可是需要每次点击都要显示下一张图片的。永盈会娱乐城

这里就需要引入 Android 的消息机制了,简单来说,就是 Handler、Looper 还有 Message Queue的使用。这里我们用一个简单的例子来说明 Handler 的使用,就是每次点击按钮,给消息队列发送一个数字 5。还是在 PaintingActivity 里做。

PaintingActivity :

01 private Button btn_next;
02 private Handler pic_hdl;
03  
04 @Override
05 protected void onCreate(Bundle savedInstanceState) {
06     // TODO Auto-generated method stub
07     super.onCreate(savedInstanceState);
08     setContentView(R.layout.painting);
09      
10     btn_next = (Button)findViewById(R.id.btn_loadnext);
11     btn_next.setOnClickListener(new ButtonListener());
12      
13     pic_hdl = new PicHandler();
14 }
15  
16 class ButtonListener implements OnClickListener{
17  
18     @Override
19     public void onClick(View v) {
20         // TODO Auto-generated method stub
21         if( v.getId() == R.id.btn_loadnext){
22             Message msg = pic_hdl.obtainMessage();
23             msg.what = 4;
24             pic_hdl.sendMessage(msg);
25         }
26     }
27      
28 }
29  
30 class PicHandler extends    {
31  
32     @Override
33     public void handleMessage(Message msg) {
34         // TODO Auto-generated method stub
35         int what = msg.what;
36         System.out.println("what: " + what);
37     }
38      
39 }

就这么简单就完成了。演示效果:

bubuko.com,布布扣

简要介绍一下过程:

  1. private Handler pic_hdl; 定义一个 Handler, 而 pic_hdl = new PicHandler(); 则是从我们定义的 class PicHandler 新建一个 Handler;
  2. 然后看按钮的 onClick 事件,obtainMessage 为获取一个 msg 对象,然后给 msg.what 赋值,sendMessage 将 msg 对象发到消息队列中;
  3. 回到 PicHandler,我们在 handleMessage 可以很简单地重新获得消息队列里 what 的值。然后在 Log 里打印出来。

接下来我们会再继续深入 Handler 这个东西。

Android Handler的一个简单使用例子

标签:android   http   color   使用   ar   sp   div   2014   c   

原文地址:http://www.cnblogs.com/laoyangman/p/4005254.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!