首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >同步线程停止主UI线程

同步线程停止主UI线程
EN

Stack Overflow用户
提问于 2011-04-27 04:55:32
回答 3查看 879关注 0票数 3

有人能告诉我为什么在异步线程完成之前,以下对话框才会显示。我想不出这个办法。这在主UI线程中运行。不确定为什么新线程会影响主UI线程的流。

代码语言:javascript
运行
复制
                dialog = new ProgressDialog(this);

                dialog.show();

                new Thread(new Runnable() {
                     public void run() {
                         while(imageLoader.isProcessing()) {}
                         doSomething();   
                     }
                 }).run();
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-04-27 04:59:48

您需要调用匿名线程的start()方法,而不是run()方法。

来自文档

public void ():使该线程开始执行;Java虚拟机调用该线程的run方法。

票数 9
EN

Stack Overflow用户

发布于 2011-04-27 05:06:44

调用start方法

我建议使用AsyncTask查看,它有适当的线程处理机制。

参见此示例。

票数 2
EN

Stack Overflow用户

发布于 2011-04-27 05:05:30

不要期望线程遵循代码流。我建议使用AsyncTask,为了显示对话框,可以在onPreExecute()中显示对话框,并在onPostExecute()中删除它

或者您可能喜欢尝试runOnUiThread()

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5799532

复制
相关文章

相似问题

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