【问题标题】:General Timer Class in Android with callback fucntionAndroid中带有回调函数的通用定时器类
【发布时间】:2014-03-17 06:33:39
【问题描述】:

我正在尝试创建一个可以在我的应用程序中使用计时器的通用类。

我想向它传递一个必须在 UI 线程上运行的函数,因为这个计时器主要用于 GUI。

这是我到目前为止所拥有的,但是我不确定如何实现它的回调部分,并且我在使用 runOnUiThread 时遇到了问题,因为如果我通过一个上下文它希望我将它转换为一个活动类型.但是我希望能够从任何活动中调用这个计时器类。

这是我的课:

public class AutoTimer extends Timer {

Timer autoRefreshTimer;
TimerTask task;

public AutoTimer(int delay, int period, Context context) { // todo add
                                                            // callback as
                                                            // param

    autoRefreshTimer = new Timer();
    createTask(context);
    autoRefreshTimer.scheduleAtFixedRate(task, delay, period);
}

private void createTask(final Context context) {
    task = new TimerTask() {
        @Override
        public void run() {
            /*
             * context.runOnUiThread(new Runnable() {
             * 
             * @Override public void run() { //run callback method from the
             * calling activity } });
             */

        }
    };
}
}

你能帮我解决我的两个问题吗?

所以我想这样称呼它:

AutoTimer timer = new AutoTimer(0,1000,Activity.this,callbackfuntion());

【问题讨论】:

    标签: android timer timertask


    【解决方案1】:

    考虑使用 stock CountDownTimer 类。

    【讨论】:

    • 如何让时间无限期地运行?我不想倒计时。
    • 可以在 onFinish() 中重新开始
    猜你喜欢
    • 2015-06-09
    • 2011-10-20
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    • 2018-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多