gpt4 book ai didi

java - Android CountDownTimer 作为一个单独的类

转载 作者:行者123 更新时间:2023-11-30 11:50:13 25 4
gpt4 key购买 nike

我已经创建了自己的扩展 CountDownTimer 的类。因为我经常使用它,所以我想在它自己的 java 文件中包含该类。

但是,我不知道定时器类与创建它的类通信的方法。

示例:A 类有一个显示一定秒数的 textView。因此,A 类创建了计时器。

  • 如何通知 CountDownTimer 中的 onTick() 方法更新我的textView 与当前时间?
  • 我的类 A 如何知道计时器何时结束?

我敢肯定这是一个简单的答案,我对线程、处理程序、监听器以及你们这些奇才正在酝酿的任何其他东西知之甚少。

最佳答案

这应该与使用常规倒数计时器非常相似 - 只需将您的子类替换为常规计时器实例即可。此外,将 Activity 传递给构造函数,以便它可以执行更新显示所需的任何操作。

例如

    mCountDownTimer = MyCountDownTimer(totalMsecs, callInterval, this).start();

MyCountownTime 会有这样的方法:

        public void onTick(long millisUntilFinished) {

float fraction = millisUntilFinished / (float) totalMsecs;

// myActivity is passed in the constructor
mMillisUntilFinished = millisUntilFinished;

// progress bar is based on scale of 1 to 100;
mActivity.progressBar.setProgress((int) (fraction * 100));

}

public void onFinish() {
mMillisUntilFinished = 0;
handleTimeOut();
}

这假设在构造函数中传递了 mActivity。我更改了代码以假设调用 Activity 在计时器构造函数中作为变量传递并设置为计时器类的成员。

关于java - Android CountDownTimer 作为一个单独的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8100989/

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