|
方法 |
描 述 |
|
public void handleMessage (Message msg) |
通过该方法获取、处理消息 |
|
public final boolean sendEmptyMessage (int what) |
发送一个只含有what标记的空消息 |
|
public final boolean sendMessage (Message msg) |
发送消息到Handler,通过handleMessage()方法接收和处理 |
|
public final boolean hasMessages (int what) |
监测消息队列中是否包含标记为what的消息 |
|
public final boolean post (Runnable r) |
将一个线程对象添加到消息队列 |
package com.example.android_handler;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
public class HandlerTest extends Activity {
int i=0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final TextView text = (TextView)findViewById(R.id.random);
//1.创建一个Handler类对象,并重写handleMessage()方法
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg)
{
if(msg.what==0x520)
{
text.setText("获得的新随机数为:\n"+Math.random());
}
}
};
//2.定义一个计时器,让该计时器以1.2s周期性地执行指定任务(毫秒为基本单位)
// new Timer().schedule(new TimerTask(){
// public void run() {
// handler.sendEmptyMessage(0x520);
// }
// }, 0, 1200);
new Thread(new Runnable(){
public void run() {
while(true)
{
try {
Thread.sleep(1200);
} catch (Exception e) {
e.printStackTrace();
}
handler.sendEmptyMessage(0x520);
}
}
}).start();
}
}<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/random"
android:textSize="20sp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="35dp"
android:layout_gravity="center"/>
</LinearLayout>
Android笔记二十五.Android事件Handler消息传递机制
原文:http://blog.csdn.net/u012637501/article/details/44245495