chronoment暂停方法的实现

package com.example.king.chronometer;

import android.app.Activity;
import android.os.SystemClock;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Chronometer;

public class MainActivity extends Activity {
    private Button start, stop, rest;
    Chronometer chronometer = null;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        start = (Button) findViewById(R.id.start);
        stop = (Button) findViewById(R.id.stop);
        rest = (Button) findViewById(R.id.rest);
        chronometer = (Chronometer) findViewById(R.id.chronometer);


        start.setOnClickListener(clickListener);
        stop.setOnClickListener(clickListener);
        rest.setOnClickListener(clickListener);
    }

    private View.OnClickListener clickListener = new View.OnClickListener() {

        @Override
        public void onClick(View v) {

            switch (v.getId()) {
                case R.id.start:
                    //调用start()方法开始计时
                    chronometer.setBase(convertStrTimeToLong(chronometer.getText().toString()));
                    chronometer.start();
                    start.setText("正在计时...");
                    break;
                case R.id.stop:
                    //调用stop()方法停止计时
                    chronometer.stop();
                    start.setText("继续计时");
                    break;
                case R.id.rest:
                    //调用stop()方法停止计时
                    chronometer.setBase(SystemClock.elapsedRealtime());

                    chronometer.stop();
                    start.setText("正在计时...");
                    break;

                default:
                    break;
            }
        }
    };

    public long convertStrTimeToLong(String strTime) {
        String[] timeArry = strTime.split(":");
        long longTime = 0;

            longTime = Integer.parseInt(timeArry[0]) * 1000 * 60 + Integer.parseInt(timeArry[1]) * 1000;


        return longTime-SystemClock.elapsedRealtime() ;
    }

}

猜你喜欢

转载自blog.csdn.net/qq_28938627/article/details/51671973