MainActivity:
1 package com.example.easyhandler; 2 3 import android.os.Bundle; 4 import android.os.Handler; 5 import android.app.Activity; 6 import android.view.Menu; 7 import android.view.View; 8 import android.view.View.OnClickListener; 9 import android.widget.Button; 10 11 public class MainActivity extends Activity { 12 13 private Button B1 = null; 14 private Button B2 = null; 15 16 protected void onCreate(Bundle savedInstanceState) { 17 super.onCreate(savedInstanceState); 18 setContentView(R.layout.activity_main); 19 20 B1 = (Button) this.findViewById(R.id.button1); 21 B2 = (Button) this.findViewById(R.id.button2); 22 23 B1.setOnClickListener(new startButtonListener()); 24 B2.setOnClickListener(new endButtonListener()); 25 } 26 27 class startButtonListener implements OnClickListener { 28 public void onClick(View v) { 29 //执行消息队列里的线程 30 handler.post(updateThread); 31 } 32 } 33 34 class endButtonListener implements OnClickListener { 35 public void onClick(View v) { 36 //去除消息队列里面的线程 37 handler.removeCallbacks(updateThread); 38 } 39 } 40 41 //声明一个handler类,用于处理消息队列 42 Handler handler = new Handler(); 43 //新建一个匿名内部类实现Runnable接口 44 Runnable updateThread = new Runnable() { 45 //重写run方法实现线程的执行内容 46 public void run() { 47 System.out.println("Come On Baby!"); 48 handler.postDelayed(updateThread, 2000); 49 } 50 }; 51 52 public boolean onCreateOptionsMenu(Menu menu) { 53 // Inflate the menu; this adds items to the action bar if it is present. 54 getMenuInflater().inflate(R.menu.activity_main, menu); 55 return true; 56 } 57 58 }