读书人

定时干一件事情

发布时间: 2012-12-28 10:29:04 作者: rapoo

定时做一件事情
(1) Timer timer = new Timer();
TimerTask task = new TimerTask() {

public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}
};
timer.schedule(task, 1000);
Handler handler = new Handler() {

public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
scrollView = getLayoutInflater().inflate(R.layout.alarmscroll, null);
scrollWindow = new PopupWindow(scrollView, LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
scrollWindow.showAtLocation(findViewById(R.id.widgetlayout),
Gravity.CENTER, 0, 0);
break;
}
super.handleMessage(msg);
}

};
(2)每隔五秒更新标题栏的例子:
import java.util.Timer;
  import java.util.TimerTask;
  import android.app.Activity;
  import android.os.Bundle;
  import android.os.Message;
  import android.os.Handler;
  public class Activity1 extends Activity {
  private int t = 0;
  private Handler mHandler = new Handler(){
  @Override
  public void handleMessage(Message msg) {
  super.handleMessage(msg);
  switch(msg.what){
  case 1:
  updateTitle();
  break;
  }
  }
  };
  public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  Timer timer = new Timer();
  timer.scheduleAtFixedRate(new MyTask(), 1, 5000);
  }
  private class MyTask extends TimerTask{
  @Override
  public void run() {
  // Activity1.this.updateTitle();
  Message message = new Message();
  message.what = 1;
  mHandler.sendMessage(message);
  }
  }
  public void updateTitle(){
  setTitle("title:" + t);
  t ++;
  }
  }

读书人网 >编程

热点推荐