Handler类主要作用有两个:在新启动的线程中发送消息。在主线程中获取处理消息。
为了适时地处理新启动的线程锁发送的消息,显然只能通过回调的方式来实现,只需要重写Handler类中处理消息的方法,当新启动的线程发送消息时,消息会发送到与之关联的MessageQueen,而Handler会不断地从MessageQueen中获取并处理消息,这将导致Handler类中处理消息的方法被回调。
以下贴出相关源代码 import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.widget.ImageView; import java.util.Timer;import java.util.TimerTask; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final Handler myHandler = (Handler) new Handler(){ public void handleMessage(Message msg) { if (msg.what == 0x1234) { /***接收到消息后处理语句********/ } } }; //设置一个定时器 new Timer().schedule(new TimerTask() { public void run() { myHandler.sendEmptyMessage(0x1234); } },0,1000); /***设置定时器,每隔一定时间发送空消息。******/ } }
时间: 2024-10-07 06:55:20