public class ThreadHandlerrActivity extends Activity implements Callback,
OnClickListener {
private TextView txt;
private Button btnStart, btnStop;
private Handler myHandler;
private TimerThread timerThread;
private int Total=30;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt = (TextView) findViewById(R.id.txt);
btnStart = (Button) findViewById(R.id.btnStartTime);
btnStop = (Button) findViewById(R.id.btnStopTime);
Log.d("ThreadId", "onCread:"
+ String.valueOf(Thread.currentThread().getId()));
myHandler = new Handler(this);
btnStart.setOnClickListener(this);
btnStop.setOnClickListener(this);
}
/**
* 实现消息处理
*/
@Override
public boolean handleMessage(Message msg) {
switch(msg.what)
{
case 0:
Bundle date=msg.getData();
txt.setText(String.valueOf(date.getInt("time")));
Log.d("ThreadId", "HandlerMessage:"
+ String.valueOf(Thread.currentThread().getId()));
Log.d("ThreadId", "msgDate:"
+ String.valueOf(date.getInt("time")));
break;
}
return false;
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btnStartTime:
//自定义的线程
timerThread=new TimerThread(myHandler,60);
timerThread.start();
break;
case R.id.btnStopTime:
timerThread.stop();
//timerThread.destroy();
break;
}
}
}
这里implements android.os.Handler.Callback
实现了public abstract boolean handleMessage(Message msg)
Message中比较关键的就是
@ setData(Bundle data)设置值,这就是我们要获得的值
@ public int what使用它可以定义消息的种类,好消息,坏消息
Message设置好了之后,就可以Handler.sendMesage(Message) 发送出去,这样handleMessage()就会接受到了
|