论坛首页 移动开发技术论坛

Android时间计时器

浏览 2373 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-11  

时间计时器

贴一些代码吧,界面设置比较简单就不放这了,如果觉得是自己想要的就下载附件,附件中包含了界面的设置:

package com.chronometer;

import android.app.Activity;
import android.os.Bundle;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.os.SystemClock;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Chronometer;
import android.widget.EditText;

public class TimerTestActivity extends Activity implements OnClickListener{
	 int startTime = 1;
	Chronometer chronometer;
	EditText edtSetTime;
	Button btnStart;
	Button btnStop;
	Button btnReset;
	
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        initView();
        /*chronometer.setBase(SystemClock.elapsedRealtime());
        //计时开始
        chronometer.start();*/
        //为计时器设置一个监听事件
        chronometer.
        setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
			@Override
			public void onChronometerTick(Chronometer chronometer) {
				//如果开始计时到现在超过了startime秒
				if (SystemClock.elapsedRealtime()-chronometer.getBase()>startTime*10000) {
					//停止计时
					chronometer.stop();
					//显示警告“时间到”框
					showDialog();
				}
			}

		});
    }
    //初始化变量
    private void initView(){
    	chronometer = (Chronometer) findViewById(R.id.chronometer);
    	edtSetTime = (EditText) findViewById(R.id.edt_settime);
    	btnStart = (Button) findViewById(R.id.btnStart);
    	btnStop = (Button) findViewById(R.id.btnStop);
    	btnReset = (Button) findViewById(R.id.btnReset);
    	btnStart.setOnClickListener(this);
    	btnStop.setOnClickListener(this);
    	btnReset.setOnClickListener(this);
    }
    
    //显示弹出式对话框
    private void showDialog() {
    	AlertDialog.Builder builder = new AlertDialog.Builder(this);
    	builder.setIcon(R.drawable.icon);
    	builder.setTitle("警告").setMessage("时间到").setPositiveButton("确定",
    			new DialogInterface.OnClickListener() {
					public void onClick(DialogInterface dialog, int which) {
					}
				});
    	AlertDialog dialog = builder.create();
    	dialog.show();
	}
    
    //按钮的监听器
	@Override
	public void onClick(View v) {
		switch (v.getId()) {
		//开始计时按钮的监听
			case R.id.btnStart:{
				System.out.println("开始计时----");
				String ss = edtSetTime.getText().toString();
				if (!(ss.equals(""))&&ss!=null) {
					startTime = Integer.parseInt(ss);
					System.out.println("startTime:"+startTime);
				}
				//设置开始计时时间
				chronometer.setBase(SystemClock.elapsedRealtime());
				chronometer.start();
			}
				
				break;
			//停止计时按钮的监听
			case R.id.btnStop:{
				chronometer.stop();
			}
			break;
			//重新计时按钮的监听
			case R.id.btnReset:{
				chronometer.setBase(SystemClock.elapsedRealtime());
				chronometer.start();
			}
			break;
			default:
				break;
		}
	}
}
 

记时器效果图

  • 大小: 20.4 KB
论坛首页 移动开发技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics