gpt4 book ai didi

java - 在 Android 中允许按钮在一定时间内给出分数

转载 作者:行者123 更新时间:2023-11-29 06:08:14 25 4
gpt4 key购买 nike

我只看到有关如何在一定时间后做某事的文章,但我想知道在 Android 中如何在一定时间内做某事。

    public void buttonClick(View v) {

currentUser.changeScore(10);

TextView tv = (TextView) findViewById(R.id.score);
tv.setText("Score: " + currentUser.getScore());

}

我希望用户能够在事件发生后按下按钮并获得积分 10 秒。在那 10 秒之后,如果按下按钮,我希望用户失去 10 分。

最佳答案

很简单。每次事件发生时,设置一个变量,如下所示:

long positivePointEndTime = 0;

// In your event handler...
positivePointEndTime = System.currentTimeMillis() + 10000;

// Then in the button click handler
int scoreChange = System.currentTimeMillis() < positivePointEndTime ? 10 : -10;
currentUser.changeScore(scoreChange);

这并不是说您真的想要在该时间间隔内定期更改任何东西 - 该事件只是设置一个新的时间点作为“适合”点击的边界按钮。不需要计时器或类似的东西。

(为了可测试性,您可能希望有一个依赖注入(inject)的 Clock 类型或类似的东西来提供“当前时间”功能,但基本原理是相同的。)

关于java - 在 Android 中允许按钮在一定时间内给出分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7894550/

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