【问题标题】:Android ProgressDialog threadAndroid ProgressDialog 线程
【发布时间】:2010-12-20 11:43:10
【问题描述】:

如何在单独的 UI 线程中显示 ProgressDialog?

我有以下代码:

public boolean myMethod() {

  // show here ProgressDialog in thread

  // long operation, MUST BE NOT in thread, as there's a return value...

  return value;
}

使用 Handler、Thread、AsyncTask 没有帮助...

有没有办法在单独的线程中运行 ProgressDialog 并在主线程中运行主(长)操作?

谢谢,

【问题讨论】:

  • 我很好奇为什么 AsyncTask 没有帮助?这正是它的用途。而事实恰恰相反,ProgressDialog 会运行在主线程上,而长时间运行的操作会运行在单独的非主线程上。 AsyncTask 具有将返回值从后台线程传回主线程的方法——应该可以吗?
  • 它不起作用,如果长操作在主线程中起作用,而不是在单独的线程中......

标签: java android multithreading return-value progressdialog


【解决方案1】:

只有一个 UI 线程。你永远不应该在其中运行任何重物。恐怕您必须在后台和 UI 线程中的进度条中运行它。

您可能需要进行一些重新设计才能实现这一目标。您可以使用回调来摆脱返回值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多