单击按钮后如何查看持续时间

How can I check the duration after I click the button

我是 JavaAndroid 的新手,我想在我的 ACTION_UP 活动中设置一个计时器,并在我进行其他活动时取消计时器。我如何才能基本上为此设置一个计时器并停止并重置其他事件的计时器?

你一定要试试这个

public boolean onTouchEvent(MotionEvent event) {
    boolean touch;
        switch(event.getAction()){
            case MotionEvent.ACTION_DOWN:
                touch = false;
                break;
            case MotionEvent.ACTION_UP:
                touch = true;
                // Code for Timer
                break;
        }
    return true;
    }

您必须在此代码中编写处理程序并在其他事件上重置处理程序。 处理程序代码

new Handler().postDelayed(new Runnable() {
        public void run() {
            //Your Task                   
        }
    }, TIME);

对于 CountDownTimer 这里我开始了 30 秒的计时码表

CountDownTimer countDownTimer;
TextView tvTicker = (TextView) findViewById(R.id.tvTicker);

public void startClicked(View view) { //When button start is clicked

    countDownTimer = new CountDownTimer(30000, 1000) {

        public void onTick(long millisUntilFinished) {
            tvTicker.setText("seconds remaining: " + millisUntilFinished / 1000);
//Do some stuff here for saving the duration to a variable or anything else as your requirements
        }

        public void onFinish() {
            tvTicker.setText("done!");
        }
    }.start();
}

方法说明

CountDownTimer(long millisInFuture, long countDownInterval)

millisInFuture = 时间以毫秒为单位

countDownInterval = 间隔毫秒

现在您可以使用这些方法进行其他类型的操作。

countDownTimer.cancel(); //Cancel the countdown.
countDownTimer.onFinish() //Callback fired when the time is up.
countDownTimer.onTick(long millisUntilFinished); //Callback fired on regular `interval. millisUntilFinished is The amount of time until finished.`

计时器开始时间。

在启动定时器点击事件中设置。

Date startDate = new Date();
long startTime = 0;
startTime = startDate.getTime();

将 startTime 存储在全局变量中,以便稍后使用该变量。

定时器结束时间。

在停止定时器点击事件中设置。

Date endDate = new Date();
long endTime = 0;
endTime = endDate.getTime();

现在得到时差 毫秒

long timeDiff = endTime - startTime;