gpt4 book ai didi

android - 为什么我的倒数计时器有时没有运行到结束?[android]

转载 作者:行者123 更新时间:2023-11-29 20:21:54 24 4
gpt4 key购买 nike

我正在计算在 ACTION_DOWN 之后按钮被按下的时间,具体取决于它被按下的时间——我在 ACTION_UP 中对按下的响应不同。

问题是当我执行 action_down(press) 时,它不会倒计时到最后,有时会倒计时。

代码:

    @Override
public boolean onTouch(final View v, final MotionEvent e) {

switch (e.getAction()) {
case MotionEvent.ACTION_DOWN:
still_down = false;

main_timer = new CountDownTimer(500, 4) {
@Override
public void onTick(long millisUntilFinished) {
Log.wtf("x", "timer: " + millisUntilFinished);
if ((int) millisUntilFinished < 100 && e.getAction() == MotionEvent.ACTION_DOWN) {
// above is where i detect that timer does not count down to 0, it stops at 119,107 etc
still_down = true;
}
}
@Override
public void onFinish() {
if (still_down) {
Log.wtf("x", "SHOW THE LARGE CARD!!!!!!!!!!!!!!!!!");
answer.setTextSize(50);
RelativeLayout.LayoutParams x = new RelativeLayout.LayoutParams(350, 500);
x.setMargins(margin_long_press_x1, margin_long_press_y1, 0, 0);
answer.setLayoutParams(x);
answer.requestLayout();
}
}
};
main_timer.start();

break;
case MotionEvent.ACTION_UP:
if (still_down) {

//image becomes small size again
main_timer.cancel();
} else {
action_on_single_tap( e);
}
break;
}

return true;
}

我在 onTick() 中添加了一个日志,发现计时器并不总是计数到 0。

是否有替代方法来计算在 android 中按下按钮的时间?我不知道任何其他方法。

最佳答案

你走对了,看看这个question它几乎相同。

我觉得这个最有帮助

@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction()==MotionEvent.ACTION_DOWN) {
this.start = System.currentTimeMillis();
} else if (event.getaction()==MotionEvent.ACTION_UP) {
this.end = System.currentTimeMillis();
}
}

关于android - 为什么我的倒数计时器有时没有运行到结束?[android],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33066335/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com