3

我有一个从远程服务器检索信息并将其显示在 TableLayout 中的 Activity。从服务器获取信息的函数有自己的超时时间,超过超时时间就会抛出异常。

现在,当加载活动时,我希望触发该函数,并在该函数工作时显示一个progressDialog,并在该函数完成工作或抛出超时异常时隐藏。

问题:我已将执行上述所有功能的代码放在 onCreate() 函数中。模拟器屏幕上没有显示任何内容,因为 onCreate() 函数还没有完成运行......

我还尝试将代码放在 onStart() 函数中......同样不需要的结果......

我试图避免使用线程,因为该功能需要许多线程无法访问它们的变量......

我怎样才能实现想要的行为?

谢谢。

4

2 回答 2

6

使用带ProgressDialog有界的AsyncTask :

http://it-projects.spb.ru/?p=150&lang=en

于 2011-01-10T12:45:31.147 回答
3
  • 创建一个实现类Runnable并将所有加载逻辑放在那里。完成后在活动中调用一个函数(比如说onFinished(params...)
  • 创建一个 UIHandler并让处理程序更新 UIonFinished(params...)
  • 在其中创建一个线程onCreate并在那里启动它以调用您的 Runnable。
于 2011-01-10T12:46:48.310 回答