我有一个在onCreate期间调用的长时间运行方法,此方法填充文本视图以便与UI交互,并且可以更新70个标签(大约3-20秒,具体取决于设备)。
我希望在此方法执行时显示progressdialog。
理想情况下,一旦显示了Activity并显示了进度,我想在UI线程上触发我的方法,这是我不能做的,在方法完成之前,Activity不会绘制。
我希望找到一个在活动显示后被触发的事件,我找到了下面的那个,但是在方法结束之前它仍然会留下黑屏。
@覆盖 public void onPostCreate(Bundle savedInstanceState)
我通常是WP7开发人员,在.NET中你为onLoadComplete添加一个事件处理程序,在显示ui之后触发,但在用户有机会与UI交互之前,我该如何在Android JAVA中执行此操作?
由于
答案 0 :(得分:0)
在视图中放入ProgressBar。
然后在onCreate()或onResume()方法中执行以下操作:
new Thread() {
public void run() {
yourLargeMethod();
}
}.start();
现在,您可以在方法中执行此操作以更新progressBar
public void yourLargeMethod() {
// doSomething
...
runOnUiThread(new Runnable() {
public void run() {
// update the progress from the thread
progressBar.setProgress(x); // x is your progress, 0 <= x <= progressBar.getMax()
}
});
}