溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫(xiě)此文的意義!!!煩請(qǐng)您在轉(zhuǎn)載時(shí)注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          雪山飛鵠

          溫馨提示:您的每一次轉(zhuǎn)載,體現(xiàn)了我寫(xiě)此文的意義!!!煩請(qǐng)您在轉(zhuǎn)載時(shí)注明出處http://www.aygfsteel.com/sxyx2008/謝謝合作!!!

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
          需求:在界面上有兩個(gè)按鈕,一個(gè)開(kāi)始,一個(gè)停止。點(diǎn)擊開(kāi)始按鈕,更新應(yīng)用的標(biāo)題為當(dāng)前時(shí)間。按停止按鈕停止更新時(shí)間。
          考察:handler的使用。
          這里借助Handler+Timer+TimerTask來(lái)實(shí)現(xiàn)

          package com.zhy.ui;

          import java.text.SimpleDateFormat;
          import java.util.Date;
          import java.util.Timer;
          import java.util.TimerTask;

          import com.zhy.shortcut.R;

          import android.app.Activity;
          import android.os.Bundle;
          import android.os.Handler;
          import android.os.Message;
          import android.view.View;
          import android.view.View.OnClickListener;
          import android.widget.Button;

          public class UpdateUiActivity extends Activity implements OnClickListener{
              
              
              private static final int UPDATA_TITIE=1;
              
              Button start;
              Button stop;
              
              TimerTask task;
              
              Handler handler;
              
              @Override
              protected void onCreate(Bundle savedInstanceState) {
                  super.onCreate(savedInstanceState);
                  
                  setContentView(R.layout.ui);
                  
                  start=(Button) findViewById(R.id.start);
                  stop=(Button) findViewById(R.id.stop);
                  
                  //實(shí)列化Handler
                  handler=new Handler(){
                      //處理消息
                      @Override
                      public void handleMessage(Message msg) {
                          super.handleMessage(msg);
                          //標(biāo)記消息
                          switch (msg.what) {
                          case UPDATA_TITIE:
                              //更新UI
                              updateTitle(msg);
                              break;

                          default:
                              break;
                          }
                      }
                  };
                  
                  start.setOnClickListener(this);
                  stop.setOnClickListener(this);
                  
              }

              @Override
              public void onClick(View v) {
                  switch (v.getId()) {
                  case R.id.start:
                      //創(chuàng)建一個(gè)定時(shí)器
                      Timer timer=new Timer();
                      //創(chuàng)建TimerTask
                      task=new TimerTask() {
                          
                          //實(shí)現(xiàn)run方法,這里存放需要實(shí)時(shí)更新時(shí)間的代碼
                          @Override
                          public void run() {
                              //創(chuàng)建一個(gè)消息體
                              Message message=new Message();
                              //標(biāo)記消息
                              message.what=UPDATA_TITIE;
                              //傳遞數(shù)據(jù)
                              message.obj=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss").format(new Date());
                              //發(fā)送消息
                              handler.sendMessage(message);
                          }
                      };
                      //調(diào)度,每隔一秒中執(zhí)行一次
                      timer.schedule(task, 1, 1000);
                      break;
                  case R.id.stop:
                      //停止
                      if(task!=null){
                          task.cancel();
                      }
                      break;
                  default:
                      break;
                  }
              }
              
              /**
               * 更新應(yīng)用標(biāo)題
               * 
          @param msg
               
          */
              private void updateTitle(Message msg) {
                  UpdateUiActivity.this.setTitle(String.valueOf(msg.obj));
              }
              
              
          }
          posted on 2011-12-14 14:57 雪山飛鵠 閱讀(1694) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): android
          主站蜘蛛池模板: 长岛县| 威信县| 仙桃市| 万盛区| 红安县| 泰安市| 荣昌县| 甘南县| 巴中市| 镇赉县| 大安市| 金湖县| 安阳县| 开江县| 同德县| 大丰市| 微博| 土默特右旗| 澄城县| 灵山县| 醴陵市| 吉水县| 江门市| 寿宁县| 三穗县| 新密市| 榆树市| 贡觉县| 张北县| 甘德县| 杭锦旗| 奎屯市| 株洲县| 额敏县| 康平县| 南岸区| 施秉县| 铜川市| 喀什市| 金塔县| 河西区|