【发布时间】:2010-11-23 08:42:47
【问题描述】:
我在打开活动(在示例中称为活动 2)时的进度对话框出现问题。
activity 2 在这个 OnCreate 事件中有很多代码要执行。
final ProgressDialog myProgressDialog = ProgressDialog.show(MyApp.this,getString(R.string.lstAppWait), getString(R.string.lstAppLoading), true);
new Thread() {
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
showApps();
}
});
myProgressDialog.dismiss();
}
}.start();
showApps 函数启动活动 2.
如果我在活动 1 上的按钮单击事件上执行此代码,我会看到进度,但在 2 或 3 秒内我有一个黑屏,让我在 android 显示活动的时间内看到了进度,但她没有移动。
如果我在 Activity2 的 OnCreate 中执行此代码,并且如果我用 OnCreate 上的代码替换 showApps,则 Activity1 冻结 2 秒,我看不到进度对话框,并在看到 Activity 2 之前再次冻结 2 秒结果。
【问题讨论】:
-
您创建了一个线程来运行在 UI 线程中运行的代码?!这是我需要知道的黑客/解决方法还是这只是错误的?
-
嘿@WarrenFaith,你能不能给我一个坚实的基础并接受我对这个问题的最高投票答案?
-
@Darren 不是我的问题 :)
-
我很尴尬...谢谢沃伦 ;)
-
嘿@Pachanka,你能不能给我一个坚实的基础并接受我对这个问题的最高投票答案?