Handler 的使用
Handler的使用如下,代码比较简单,在扩展Handler 时一定要重写handleMessage(查Handler API,void handleMessage(Message msg) Subclasses must implement this to receive messages.),里面是你要定时call的方法,还需写一个sleep方法延时:
package net.learn2develop.Databases;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.widget.TextView;
public class HandlerMain extends Activity {
private TextView txtStatus;
private RefreshHandler mRedrawHandler = new RefreshHandler();
class RefreshHandler extends Handler {
@Override
public void handleMessage(Message msg) {
HandlerMain.this.updateUI();
}
public void sleep(long delayMillis) {
this.removeMessages(0);
sendMessageDelayed(obtainMessage(0), delayMillis);
}
};
/*public void sleep(long delayMillis) {
mRedrawHandler.removeMessages(0);
mRedrawHandler.sendMessageDelayed(mRedrawHandler.obtainMessage(0), delayMillis);
}*/
private void updateUI(){
int currentInt = Integer.parseInt((String) txtStatus.getText()) + 10;
if(currentInt <= 100){
mRedrawHandler.sleep(1000);
txtStatus.setText(String.valueOf(currentInt));
}
}
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
this.txtStatus = (TextView) this.findViewById(R.id.txtStatus);
updateUI();
}
}