Timer 和 TimerTask 问题:“Timer.class 不在 android.jar 中”和“应用程序意外停止”?

发布于 2024-10-31 16:53:19 字数 401 浏览 0 评论 0原文

所以我本质上试图制作一个“实时反馈”,我的代码如下所示。基本上,我收到“应用程序意外停止”错误,所以我进行了调试。当我调试时,它说“Timer.class not in android.jar”。我知道我的refreshFeed()静态方法工作得很好(在没有计时器的情况下进行了测试),所以不可能是这样。我在这里缺少什么吗?非常感谢任何帮助!

Timer time = new Timer();
    TimerTask refresh = new TimerTask(){
        public void run(){
            feedEntry.refreshFeed();
        }
    };
    time.scheduleAtFixedRate(refresh, 0, 10000);

So I'm trying to make a "live feed" essentially, and my code is shown below. Basically, I got "The Application Has Stopped Unexpectedly" error, so I debugged. When I debugged, it said "Timer.class not in android.jar". I know my refreshFeed() static method works perfectly fine (tested it without the timer), so it can't be that. Is there something I'm missing here? Any help is greatly appreciated!

Timer time = new Timer();
    TimerTask refresh = new TimerTask(){
        public void run(){
            feedEntry.refreshFeed();
        }
    };
    time.scheduleAtFixedRate(refresh, 0, 10000);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

浅唱ヾ落雨殇 2024-11-07 16:53:19

Timer 和 TimerTask 都存在于 java.util 包中。

您需要做的是使用处理程序。
如果您是 Android 新手,请阅读有关处理程序的信息。
http://developer.android.com/reference/android/os/Handler.html

Handler handler = new Handler();


    t = new Timer();
    timeTask = new TimerTask() {
        public void run() {
                handler.post(new Runnable() {
                        public void run() {
                            feedEntry.refreshFeed();
                        }
               });
        }};

        t.scheduleAtFixedRate(timeTask, 0, 1000);

Both Timer and TimerTask present in java.util package.

What you need to is do is use handler.
Read about handler if you are new to android.
http://developer.android.com/reference/android/os/Handler.html

Handler handler = new Handler();


    t = new Timer();
    timeTask = new TimerTask() {
        public void run() {
                handler.post(new Runnable() {
                        public void run() {
                            feedEntry.refreshFeed();
                        }
               });
        }};

        t.scheduleAtFixedRate(timeTask, 0, 1000);
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文