首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >带活套的独立线程中的CountdownTimer

带活套的独立线程中的CountdownTimer
EN

Stack Overflow用户
提问于 2018-07-30 19:21:29
回答 1查看 888关注 0票数 1

我试图实现一个倒计时,以警告用户时,他们退出一个地区。为此,我尝试在JobIntentService中使用JobIntentService;但是,这意味着CountdownTimer处于线程中,没有引发异常。java.lang.RuntimeException: Can't create handler inside thread Thread[AsyncTask #1,5,main] that has not called Looper.prepare()

我已经找到了这个有活套的CountdownTimer线程中的问题,但答案是6-7岁,我希望在线程和处理程序方面使用最佳实践。

如果有人能对如何以一种更清洁的方式做这件事给出一点见解,那肯定会受到赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-07-30 19:35:56

始终使用活套创建处理程序。

1)创建用户界面处理程序来更新UI

代码语言:javascript
运行
复制
Handler mainThreadhandler = new Handler(context.getMainLooper());
mainThreadhandler.post(new Runnable(){
   public void run(){
    // UI work
   }
});

2)创建线程处理程序,以运行后台任务。

代码语言:javascript
运行
复制
HandlerThread bgThread = new HandlerThread("MyHandlerThread");
bgThread.start();
Handler bgHandler = new Handler(bgThread.getLooper());
bgHandler.post(new Runnable(){
   public void run(){
    // background work
   }
});

活动结束时别忘了打扫卫生。

代码语言:javascript
运行
复制
@Override
public void onDestroy() {
  bgHandler.getLooper().quit();
  super.onDestroy();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51600911

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档