0

我有 RealViewSwitcher 控件,我正在使用一些代码在 OnScreenSwitchListener 中更新我的 UI,如下所示

public void onScreenSwitched(int screen) {
//1 update some text view for example 

//2 heavy process 

}

在繁重的过程完成之前,我的 UI 更新不会出现,我怎样才能立即更新我的文本视图?

4

2 回答 2

1

如何即时更新我的​​文本视图?

你不能,就其本身而言。

但是,最有可能的是,您的“繁重进程”应该在后台线程中完成,例如AsyncTask. 这将使您的 UI 更新得到更快的处理。

如果您的“繁重过程”本身就是 UI 更新,则您需要安排将“繁重过程”推迟到当前方法返回并且 Android 可以处理您的第一组 UI 更新之后的某个时间。执行此操作的一种方法是将“繁重的过程”工作放入Runnable您计划执行的 a 中,使用post()onHandler或 any上可用的方法View

于 2013-02-09T19:49:25.423 回答
1
private class YouClass extends AsyncTask<Type1, Type2, Type3> {
 protected Long doInBackground(Type1... obj1) {
     //operations to do in background
 }

 protected void onProgressUpdate(Type2... obj2) {
     //operations during the process progress
 }

 protected void onPostExecute(Type3 obj3) {
     //the operations after the completion of your task
 }
}

有关 AsyncTask<> goto 的更多参考

http://developer.android.com/reference/android/os/AsyncTask.html

于 2013-02-09T20:06:05.097 回答