2013年8月6日 星期二

Handler 類別

Thread 執行緒中不能直接呼叫介面。因此若想將結果呈現在TextView 中,必須透過Handler類別協助。

private class MyHandler extends Handler
{
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
tv.setText(""+counter++);
super.handleMessage(msg);
}
}

其中tv 是一個Textview 。

在Thread 的run 事件中呼叫Handler 送出message,

public void run()
{
for(int i=1;i<20;i++)
{
handler.sendMessage(new Message());
try {
Thread.sleep(1000);  // 每隔一秒休息一下
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}



程式下載

沒有留言:

張貼留言