我有RealViewSwitcher控件,我正在使用一些代码在OnScreenSwitchListener中更新我的UI,如下所示
public void onScreenSwitched(int screen) {
//1 update some text view for example
//2 heavy process
}
直到繁重的流程完成后才会显示我的用户界面的更新,如何立即更新我的文本视图?
答案 0 :(得分:1)
如何即时更新我的文字观点?
你本身不能。
但是,最有可能的是,您的“繁重过程”应该是后台线程,例如AsyncTask
。这样可以更快地处理UI更新。
如果您的“繁重流程”本身是UI更新,则需要安排延迟“繁重流程”,直到您当前方法返回并且Android可以处理您的第一组UI更新之后的某个时间。这样做的一种方法是使用Runnable
或任何post()
上提供的Handler
方法将“繁重流程”工作放在您计划执行的View
中。< / p>
答案 1 :(得分: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&lt;&gt;的更多参考信息转到
http://developer.android.com/reference/android/os/AsyncTask.html