首页 > 代码库 > 计时器的实现

计时器的实现

package com.example.time;import android.os.Bundle;import android.os.Handler;import android.app.Activity;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.TextView;public class MainActivity extends Activity {            private TextView secText;            private Button start;                   private int timeUsedInsec;          /**********************************************************************************************/            private Handler uiHandle = new Handler(){          public void handleMessage(android.os.Message msg) {             addTimeUsed();  //调取更新函数            updateClockUI();  //调取叠加函数            uiHandle.sendEmptyMessageDelayed(1, 1000);  //1s,1000ms        }      };    /***********************************************************************************************/        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                        secText = (TextView) findViewById(R.id.sec);          start = (Button) findViewById(R.id.start);                          start.setOnClickListener(new OnClickListener() {                         @Override              public void onClick(View v) {                  // TODO Auto-generated method stub                  uiHandle.removeMessages(1);                  startTime();              }          });     }            /***************************************************秒的输出**************************************************/        private void updateClockUI(){                         secText.setText(getSec());  //更新秒        }/***************************************************秒的叠加*************************************************/        public void addTimeUsed(){              timeUsedInsec = timeUsedInsec + 1; //叠加1          } /***************************************************循环调取实现不断更新***********************************************/            private void startTime(){          uiHandle.sendEmptyMessageDelayed(1, 1000); // 调取uiHandle     }  /***************************************************定义什么才是一秒***********************************************/        public CharSequence getSec(){          int sec = timeUsedInsec % 60; // 求余数,叠加的数除以60,求余数        return sec < 10? "0" + sec :String.valueOf(sec);  //如果秒小于10,秒前加“0”,如果秒不小于10,秒前面不加“0”    }                  @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }}

 

计时器的实现