Handler的使用主要和下面几个方法相关:
sendMessage()
sendMessageDelayed()
post()
postDelayed()
在这里用的是sendMessage()方法,其它方法都比较相似。
贴上主要代码:
final Handler handler = new Handler(){
@Override
public void handleMessage(Message msg){
super.handleMessage(msg);
if(msg.what == 1){
String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());//String类
mText.setText(date);
}
}
};
mText.setText("更新前");
final Thread thread = new Thread(new Runnable(){
@Override
public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
});
创建一个新Thread线程,这段代码里我们使用handler在子线程向主程序里发送了一条message。这样handlemessage()方法就可以在主线程执行了Message也可以指定并传递数据,具体就是handler提交给子线程,然后通知更新UI。
mButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
thread.start();
}
});
再加一个按钮和监听器,实现更新TextView的操作。
本文介绍了Android中Handler类的使用方法,包括如何通过sendMessage()方法在子线程向主线程发送消息,以及如何处理这些消息来更新UI。文章通过一个具体的例子展示了如何创建Handler实例、发送消息及设置回调。
6220

被折叠的 条评论
为什么被折叠?



