为了安抚用户等待的焦急心情,我们用ProgressDialog。它的用法书上有例子,就是:
然而,我们用它一般都是在用 intent 开启一个新的 activity 的时候,你直接加上这句话,是达不到你想要的效果的。
你必须这样用:把用 intent 开启 activity 的这件事放在一个 Runnable 对象的 run() 方法中,然后用 handler.post() 方法来运行这个线程。代码如下:
这样算是达到我们要的效果了,可是,那个 ProgressDialog 的窗口并没有关闭,所以后面还要加上
但这样的话,窗口出来就消失,我们又看不到 ProgressDialog 了 ... 所以,我们要用一个线程来控制窗口消失的时间
那个 sleep 的时间是你估算下一个 activity 显示出来所需要的时间。 OK 了。
但显然这样做是不科学的。科学的做法是:首先在原 avtivity 中添加一个关闭 Dialog 的静态方法:
然后在目标的 activity 中添加两个成员变量:
其中 Handler 中注册了关闭窗口的条件和关闭动作 ( 调用静态方法 ) 。然后在这个 activity 的 onCreat() 方法里的最后面加上发送消息的代码:
这样就能保证是在目标 activity 全部显现出来之后关闭那个 progressDialog 了,呵呵。