首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置ProgressDialog的最短时间,不需要最长时间

设置ProgressDialog的最短时间,不需要最长时间
EN

Stack Overflow用户
提问于 2011-10-10 16:21:48
回答 2查看 1.7K关注 0票数 1

我需要显示用户信息,同时应用程序处理一些数据。我像这样使用ProgressDialog

代码语言:javascript
复制
pd = ProgressDialog.show(MainActivity.this,
                        "", "Processing",
                        true, false);

当连接到网络并下载数据时,处理会花费很长时间,但当网络不可用时,它会立即返回,并且我的进度对话框闪现得非常快。有没有比让catch Thread休眠一段时间更好的解决方案:

代码语言:javascript
复制
try{
  //connecting and calculating
}
catch(Exception exc){
Thread.sleep(400);
handler.sendEmptyMessage(0);
}

无论成功还是失败,我都需要为我的ProgressDialog设置最小时间?有谁知道如何做到这一点吗?

EN

回答 2

Stack Overflow用户

发布于 2011-10-10 17:34:21

这会对你有帮助

在对话框初始化后立即编写以下代码

代码语言:javascript
复制
new Thread(){
public void run(){
try{
Thread.sleep(5000); 
}
catch(Exception ex){}
try{
Message msg=actHandler.obtainMessage();
actHandler.sendMessage(msg);
}
catch(NullPointerException ex){
Log.e("Handler Exception :",ex.toString());
dialog.dismiss();
}
}
}.start();


actHandler=new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
doSomthing();
}
};


public void doSomething(){
dialog.dismiss();
}
票数 2
EN

Stack Overflow用户

发布于 2011-10-10 16:25:52

相反,我会这样做:只有在你能建立连接的情况下才显示你的progressDialog。我觉得让用户等待0.4秒来得到你已经知道的结果是没有意义的。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7710132

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档