基本上,当我的应用程序中按下菜单项时,它会将用户带到新屏幕。 但现在我想在线获取一些数据(时间/日期),一旦获得数据,它将显示在页面的某个位置。 目前新屏幕没有加载,直到应用程序获取数据,这会暂停几秒钟,而不是立即加载屏幕,然后在最终显示时显示下载的数据。
我尝试使用onStart方法,因为在onCreate之后调用它所以我认为页面将被创建并显示然后onStart被调用但是没有发生,因为它在线上获取数据然后显示已加载的页面。
我该如何排序? 感谢
答案 0 :(得分:1)
对于任何类型的加载操作,您应该考虑将AsyncTask
与ProgressDialog
结合使用,以便通知您的用户您在后台执行某些操作。
请注意,您只能使用AsyncTask
的{{3}}和onPreExecute()
方法与UIThread进行互动。
因此,在您的情况下,您可能希望在Activity的onCreate()
方法中触发AsyncTask,在onPreExecute()
方法中显示ProgressDialog,然后显示您的信息并将ProgressDialog隐藏在onPostExecute
。
要消除你所说的这种滞后几乎是不可能的。所以你最好恰当地处理它。
希望这有助于回答你的问题。