首页 > 代码库 > 计时器的实现
计时器的实现
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; }}
计时器的实现
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。