public class LearnHandler extends Activity {
TextView tv;
MyHandler handler;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tv = (TextView) findViewById(R.id.tv);
handler = new MyHandler(); //新建Handle对象,用于发送和处理消息。
MyThread thread = new MyThread(); //新建线程对象
new Thread(thread).start(); //启动线程
}
class MyHandler extends Handler{ //自定义Handle类,用于发送和处理消息。
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
Bundle b = new Bundle(); //定义Bundle类,用于处理Message类数据。
b = msg.getData(); //获得数据
String data = b.getString("Content"); //取出键值对
tv.setText(data); //更新UI
}
}
class MyThread implements Runnable{ //发送消息需要新建线程
@Override
public void run() {
try {
Thread.sleep(5000); //延时5S
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Message msg = new Message(); //定义Message类对象
Bundle data = new Bundle(); //定义Bundle类对象
data.putString("Content", "Hello Android!"); //输入键值对
msg.setData(data); //将Bundle类数据放入消息
handler.sendMessage(msg); //发送消息
}
}
}