gpt4 book ai didi

android - 单击按钮启动计时器

转载 作者:太空宇宙 更新时间:2023-11-03 12:31:46 24 4
gpt4 key购买 nike

我是 Android 编程新手,但我懂 Java。我的问题是,计时器在 Android 中如何工作?我读过最好使用处理程序。我想要做的是,你点击一个按钮,计时器开始计时。到单击按钮的那一刻,我都清楚了,但是如何启动计时器?

最佳答案

How does a timer work in Android?

你最好阅读 Timer documentation , CountDownTimer DocumentationHandler Documentation .

To the moment, when the button is clicked, all is cleared for me; but, how can I start the timer?

如果我没有误解你的问题,当你说 Timer 时,你指的是 CounteDownTimer。所以,你应该有这样的东西:

(我写了一个示例代码。所以,你应该先理解它,然后,你应该把它应用到你的代码中。)

添加按钮

btn1 = (Button)findViewById(R.id.bt1);
btn2 = (Button)findViewById(R.id.bt2);

添加 SetOnClickListener()

btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {

});
}

btn2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {

});
}

我的 btn1 启动了 CountDownTimer,第二个停止并清除了它。

现在,我创建一个 Inner Class使用 CountDownTimerTest 名称。

public class CountDownTimerTest extends CountDownTimer {
public CountDownTimerTest(long startTime, long interval) {
super(startTime, interval);
}

@Override
public void onFinish() {
text.setText("Time's up!");
timeElapsedView.setText("Time Elapsed: " + String.valueOf(startTime));
}

@Override
public void onTick(long millisUntilFinished) {
text.setText("Time remain:" + millisUntilFinished);
timeElapsed = startTime - millisUntilFinished;
timeElapsedView.setText("Time Elapsed: " + String.valueOf(timeElapsed));
}
}

然后在我的 btn1 上,我放了这段代码(启动 CountDownTimer):

countDownTimer.start();

在我的 btn2 上,我放置了这段代码(停止/取消 CountDownTimer):

countDownTimer.cancel();

现在,我希望您能理解 CountDownTimer 的工作原理,如果您的问题不是关于 CountDownTimer,请告诉我,我会将我的答案更新为尽快满足您的愿望。

编辑 - 只有一个 Button

要使用相同的 Button 执行此操作,您可以这样做:

创建一个 Boolean 变量:

Boolean ButtonClicked = false;

然后,修改代码如下:

btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
if (!ButtonClicked)) {
ButtonClicked = true;
countDownTimer.start();
} else {
ButtonClicked = false;
countDownTimer.cancel();
}
});
}

EDIT 2 获取点击的按钮

您可以像这样创建一个名为 NumberButtonClickedint :

int NumberButtonClicked = 0;

然后在每个 Button 上你必须这样做(示例):

btn1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
NumberButtonClicked = 1;
});
}

然后您知道如果您单击了 btn1,您的变量将为 1。

关于android - 单击按钮启动计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31639105/

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