gpt4 book ai didi

基本计时器上的 Java IllegalThreadStateException

转载 作者:行者123 更新时间:2023-11-29 18:43:09 24 4
gpt4 key购买 nike

我在 android studio 中有一个 android 应用程序的代码,可以在 1 秒延迟后运行一个方法:

    new java.util.Timer().schedule(
new java.util.TimerTask() {
@Override
public void run() {
loginClicked();
}
},
1000
);

然而,它每次执行时都会产生这个错误:

java.lang.IllegalThreadStateException: A Looper must be associated with this thread.

我基本上是从this中抓取的,所以我真的不知道发生了什么事。

最佳答案

在这些情况下,您最好在 Android 上使用 Handler

TimerTask 是纯 java,您可以在此处查看差异和其他重要信息:https://stackoverflow.com/a/40339630/4409113

Some of reported problems with TimerTask include:

  • 无法更新 UI 线程
  • 内存泄漏
  • 不可靠(并不总是有效)
  • 长时间运行的任务会干扰下一个预定事件

但是,您可以使用以下代码:

final Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//Do your things after 1000ms
loginClicked();
}
}, 1000);

关于基本计时器上的 Java IllegalThreadStateException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52605810/

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