Handler对象的Message应用

来源:互联网 发布:数据清新图 编辑:程序博客网 时间:2024/05/21 10:58

知识点

     接受子线程发送的消息数据,并用此消息数据配合主线程更新UI。

     根据消息数据中的标识msg.what,分类处理相应的操作。

 

范例程序

    为了让线程对象Runnable运行过程中,可以不断地将信息往Activity传递,所以用了Android.os.Handler对象及Android.os.Message对象,且在类成员变量中声明了两个整数:STOP_NOTIFIERRUNNING_NOTIFIER,这两个整数将作为信息传递出来时的信号标识,前者为线程对象Runnable需要喊停的标识,后者为线程对象Runnable正在运行的标识。

    本范例中,摆放一个按钮和一个进度条控件。按钮用于复位参数和启动线程对象Runnable。

 

具体代码如下:

   

 

运行结果如下:

DEBUG/lyg(370): onClick-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
DEBUG/lyg(370): run-->id=1 name=main
注:从上述的输出结果可以看出,线程对象runable并没真正运行起来,而是由handler所属线程main调用了runable的run()方法。
 
扩充学习
      ProgressBar控件的布局如下:

 

 

 

 

原创粉丝点击